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