SCHED_GET_PRIORITY_MAX(2)

名称
sched_get_priority_max, sched_get_priority_min, sched_rr_get_interval - スケジュールパラメータの上限 / 下限を取得する

ライブラリ
libc

書式
<sched.h> int sched_get_priority_max(int policy) int sched_get_priority_min(int policy) int sched_rr_get_interval(pid_t pid, struct timespec *interval)

解説
sched_get_priority_max() 関数と sched_get_priority_min() 関数は、 policy で指定されたスケジューリング方針について、 それぞれ該当する最大と最小を返します。 sched_rr_get_interval() 関数は、 interval 引数によって参照される timespec 構造体を、 pid で指定されるプロセスについて 現在の実行時間制限 (すなわち、時間量) が含まれるように更新します。 pid が 0 の場合、呼び出し元プロセスに関する現在の実行時間制限が返されます。

policy の値は <sched.h> で定義されたスケジュール方針の 1 つにする必要があります:

[SCHED_FIFO]
    ラウンドロビンスケジュールなしの先入先出 (FIFO) 固定優先順位スケジュール。

[SCHED_OTHER]
    標準のタイムシェアリングスケジューラ。

[SCHED_RR]
    同じ優先順位のプロセス間でのラウンドロビンスケジューリング。

戻り値
sched_get_priority_max() 関数と sched_get_priority_min() 関数は、正常に完了するとそれぞれ該当する最大値または最小値を返します。 そうでない場合、どちらの関数も -1 が返され、エラーを示すために errno が設定されます。

エラー
処理を失敗すると、 errno は対応する値に設定されます:

[EINVAL]
    policy パラメータの値が定義されているスケジュール方針ではありません。

[ENOSYS]
    sched_get_priority_max() 関数、 sched_get_priority_min() 関数、そして sched_rr_get_interval() 関数は、この実装ではサポートされていません。

[ESRCH]
    pid で指定されるプロセスに対応するプロセスが見つかりません。

関連項目
sched_getparam(2), sched_getscheduler(2), sched_setparam(2), sched_setscheduler(2)

規格
sched_get_priority_max() 関数、 sched_get_priority_min() 関数、それから sched_rr_get_interval() 関数は p1003.1b-93 に適合しています。