kazmax - Linux で自宅サーバー

pthread_setschedparam - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 著者
  7. 関連項目

名前

pthread_setschedparam, pthread_getschedparam - スレッドのスケージューリングパラメータを制御する

書式

#include <pthread.h>
int pthread_setschedparam(pthread_t target_thread , int policy , const struct sched_param * param );
int pthread_getschedparam(pthread_t target_thread , int * policy , struct sched_param * param );

説明


"pthread_setschedparam" はスレッド "target_thread" のスケジューリングパラメータを "policy""param" で示される値に変更する。 "policy""SCHED_OTHER" ( 通常の、リアルタイムでないスケジューリング ) 、 "SCHED_RR" ( ラウンドロビン方式のリアルタイムスケジューリング ) 、 "SCHED_FIFO" ( 先入れ先出し (FIFO) 方式のリアルタイムスケジューリング ) のいずれかの値をとる。 "param" は 2 つのリアルタイムポリシーに対する スケジューリング優先度を表す。 スケジューリングポリシーに関するさらなる情報は sched_setpolicy (2)を参照のこと。
リアルタイムスケジューリングポリシーである "SCHED_RR""SCHED_FIFO" は、スーパーユーザ権限をもったプロセスに限って使用できる。
"pthread_getschedparam" はスレッド "target_thread" のスケジューリングポリシーと スケジューリングパラメータを取得し、 それぞれ "policy""param" で指し示される領域に格納する。

返り値

"pthread_setschedparam" および "pthread_getschedparam" は成功すると 0 を返し、エラーならば非 0 のエラーコードを返す。

エラー

エラーの場合、 "pthread_setschedparam" は次のようなエラーコードを返す:

"EINVAL"
"policy"SCHED_OTHERSCHED_RR"SCHED_FIFO" のいずれでもない。
"EINVAL"
指定されたポリシーでは "param" で指定された優先度パラメータは有効ではない。
"EPERM"
呼び出しプロセスはスーパユーザ権限を持っていない。
"ESRCH"
スレッド "target_thread" は無効またはすでに終了している。
"EFAULT"
"param" が指し示す領域はプロセスのメモリ空間外の領域である。

エラーの場合、 "pthread_getschedparam" は次のようなエラーコードを返す:
"ESRCH"
スレッド "target_thread" は無効またはすでに終了している。
"EFAULT"
"policy" または "param" が指し示す領域はプロセスのメモリ空間外の領域である。

著者

Xavier Leroy <Xavier.Leroy@inria.fr>

関連項目

  sched_setscheduler (2),  sched_getscheduler (2), sched_getparam (2), pthread_attr_setschedpolicy (3), pthread_attr_setschedparam (3).