Scroll to navigation

PTHREAD_SETSCHEDPARAM(3) 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 は次のようなエラーコードを返す:

policySCHED_OTHERSCHED_RRSCHED_FIFO のいずれでもない。

指定されたポリシーでは param で指定された優先度パラメータは有効ではない。

呼び出しプロセスはスーパユーザ権限を持っていない。

スレッド target_thread は無効またはすでに終了している。

param が指し示す領域はプロセスのメモリ空間外の領域である。

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

スレッド target_thread は無効またはすでに終了している。

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