sched_rr_get_interval - システムコールの説明 - Linux コマンド集 一覧表
名前
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 では変更できない。
sched_rr_get_interval
()の使用可能な POSIX システムでは
<unistd.h> で
_POSIX_PRIORITY_SCHEDULING
が定義されている。
返り値
成功した場合は sched_rr_get_interval ()は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。
エラー
- EFAULT
- 情報をユーザースペースにコピーする時に問題が起きた。
- EINVAL
- PID が不正である。
- ENOSYS
- システム・コールがまだ実装されていない。
- ESRCH
- pid の ID を持つプロセスが見つからなかった。
準拠
POSIX.1-2001.
バグ
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