EN JA
PTHREAD_SETSCHEDPARAM(3)
PTHREAD_SETSCHEDPARAM(3) FreeBSD Library Functions Manual PTHREAD_SETSCHEDPARAM(3)
 
 

名前

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

返り値

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

エラー

エラーの場合、 pthread_setschedparam は次のようなエラーコードを返す:
EINVAL
policySCHED_OTHERSCHED_RRSCHED_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).
LinuxThreads