RR_GET_INTERVAL(2)

名前
sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔を取得する

書式
#include <sched.h>

int sched_rr_get_interval(pid_t pid, struct timespec *tp);

struct timespec {
	time_t	tv_sec;	/* seconds */
	long	tv_nsec;	/* nanoseconds */
};

書式
sched_rr_get_interval は tp で指定された timespec 構造体に pid で指定されたプロセスのラウンド・ロビン(round robin)時間量を 書き込む。もし pid がゼロならば呼び出したプロセスの時間量が *tp に書き込まれる。指定したプロセスは SCHED_RR スケジューリング方針で走っている必要がある。 ラウンド・ロビン時間量は Linux 1.3.81 では変更できない。 POSIX システムでは sched_rr_get_interval は <unistd.h> に _POSIX_PRIORITY_SCHEDULING が定義されている場合にのみ使用可能である。

返り値
成功した場合は sched_rr_get_interval は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

ESRCH
    pid の ID を持つプロセスが見つからなかった。

ENOSYS
    システム・コールがまだ実装されていない。

準拠
POSIX.1b (以前の POSIX.4)

バグ
Linux 1.3.81 では sched_rr_get_interval は ENOSYS エラーを返す、 これは SCHED_RR はまだ完全に実装されておらず、 徹底的にテストされていないからである。

関連項目
sched_setscheduler(2) には Linux のスケジューリング方式についての記述がある。

Programming for the real world - POSIX.4 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
IEEE Std 1003.1b-1993 (POSIX.1b standard, 以前の POSIX.4)
ISO/IEC 9945-1:1996