PTHREAD_CONDATTR(3) | Library Functions Manual | PTHREAD_CONDATTR(3) |
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 <Xavier.Leroy@inria.fr>
[訳注] 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 を返す。
LinuxThreads |