PTHREAD_COND_WAIT(3) |
FreeBSD Library Functions Manual |
PTHREAD_COND_WAIT(3) |
名称
pthread_cond_wait —
条件変数をウェート (待つ) する
ライブラリ
POSIX Threads Library (libpthread, -lpthread)
書式
#include < pthread.h>
int
pthread_cond_wait( pthread_cond_t *cond, pthread_mutex_t *mutex);
解説
pthread_cond_wait() 関数は、
cond によって指定された条件変数でウェート (待つ) している現在のスレッドを不可分にブロックし、
mutex によって指定されたミューテックス (mutex) を解放します。ウェート (待つ) しているスレッドは、別のスレッドが同じ条件変数で
pthread_cond_signal(3) または
pthread_cond_broadcast(3) を呼び出した後のみブロックを解除し、現在のスレッドは、
mutex のロックを再獲得します。
戻り値
成功したなら、
pthread_cond_wait() 関数は、0 を返します。そうでなければ、エラー番号がエラーを示すために返されます。
エラー
pthread_cond_wait() 関数は、次の場合に失敗します:
-
[
EINVAL]
-
cond によって指定された値、または
mutex によって指定された値が無効です。
-
[
EPERM]
-
指定された
mutex が呼び出しているスレッドによってロックされませんでした。
規格
pthread_cond_wait() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に適合しています。