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

pthread_mutexattr_getprotocol(3THR)

pthread_mutexattr_getprotocol(3THR) は、mutex 属性オブジェクトのプロトコル属性を取得します。


#include <pthread.h>

int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *attr, 
                                                        int *protocol);

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

protocol には、プロトコル属性が入ります。PTHREAD_PRIO_NONEPTHREAD_PRIO_INHERIT、または PTHREAD_PRIO_PROTECT です。

戻り値

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

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


ENOSYS

_POSIX_THREAD_PRIO_INHERIT_POSIX_THREAD_PRIO_PROTECT のどちらのオプションも定義されておらず、この実装はこの関数をサポートしていません。

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


EINVAL

attr で指定された値が無効です。


EPERM

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