EN JA
PTHREAD_COND_TIMEDWAIT(3)
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_timedwait() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に適合しています。
May 9, 2010 FreeBSD