マルチスレッドのプログラミング

mutex 属性の優先順位上限の取得

pthread_mutexattr_getprioceiling(3C) は、mutex 属性オブジェクトの優先順位上限属性を取得します。

pthread_mutexattr_getprioceiling の構文

#include <pthread.h> 
int pthread_mutexattr_getprioceiling(const pthread_mutexatt_t *restrict attr, 
           int *restrict prioceiling);

attr は、先の pthread_mutexattr_init() の呼び出しによって作成された属性オブジェクトを指します。

pthread_mutexattr_getprioceiling() は、初期化された mutex の優先順位上限を prioceiling で返します。この上限は、mutex によって保護されている重要領域が実行される最小の優先レベルを定義します。prioceiling は、SCHED_FIFO によって定義される優先順位の最大範囲内にあります。優先順位が逆転しないように、特定の mutex をロックするすべてのスレッドの中でもっとも高い優先順位と同じかまたはそれを上回る優先順位を prioceiling として設定します。

pthread_mutexattr_getprioceiling の戻り値

pthread_mutexattr_getprioceiling() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。

次のどちらかの条件が検出されると、pthread_mutexattr_getprioceiling() は失敗し、対応する値を返します。


EINVAL

説明:

attr で指定された値が NULL です。


EPERM

説明:

呼び出し元はこの操作を行うための権限を持っていません。