pthread_condattr_init, pthread_condattr_destroy -
条件変数作成時の属性
#include <pthread.h>
int pthread_condattr_init(pthread_condattr_t *attr);
int pthread_condattr_destroy(pthread_condattr_t *attr);
条件変数の属性は条件変数の作成時に、
pthread_cond_init(3) の第 2
引数として条件変数属性オブジェクトを渡すことで
指定することができる。
NULL を渡すことは、
すべての属性がデフォルト値に設定された条件変数属性オブジェクトを
渡すことと同等である。
LinuxThreads
の実装では、条件変数の属性には一切対応していない。
条件変数の属性に関する関数は
POSIX
標準との互換性を保つためだけに
用意されている。
pthread_condattr_init
は条件変数属性オブジェクト
attr
を初期化し、すべての属性をデフォルト値に設定する。
pthread_condattr_destroy
は条件変数属性オブジェクトを破壊する。
破壊したオブジェクトは再び初期化されるまで再使用してはならない。
これらの関数は両方とも、
LinuxThreads
の実装では何もしない。
pthread_condattr_init および
pthread_condattr_destroy は常に 0
を返す。
Xavier Leroy <
[email protected]>
pthread_cond_init(3).
[訳注] LinuxThreads
では条件変数をプロセス間で共有することはできない。
glibc-linuxthreads-2.2 以降、次の 2
つの関数が追加されている。
int pthread_condattr_getpshared(const pthread_condattr_t *attr,
int *pshared);
pshared
で指し示される領域に
PTHREAD_PROCESS_PRIVATE
を格納し、常に 0
を返す。
int pthread_condattr_setpshared(pthread_condattr_t *attr, int
pshared);
pshared が
PTHREAD_PROCESS_PRIVATE および
PTHREAD_PROCESS_SHARED
のいずれでもない場合、
EINVAL を返す。
pshared が
PTHREAD_PROCESS_SHARED の場合、
ENOSYS
を返す。
それ以外の場合、 0
を返す。