Namespaces
Variants

cnd_wait

From cppreference.net
ヘッダーで定義 <threads.h>
int cnd_wait ( cnd_t * cond, mtx_t * mutex ) ;
(C11以降)

mutex が指すミューテックスをアトミックにアンロックし、 cond が指す条件変数に対して、 cnd_signal または cnd_broadcast によってスレッドが通知されるか、擬似覚醒が発生するまでブロックします。関数が戻る前にミューテックスは再度ロックされます。

呼び出しスレッドによってミューテックスが既にロックされていない場合、動作は未定義です。

目次

パラメータ

cond - ブロック対象の条件変数へのポインタ
mutex - ブロック期間中にアンロックするミューテックスへのポインタ

戻り値

thrd_success 成功の場合、 thrd_error それ以外の場合。

参考文献

  • C17規格 (ISO/IEC 9899:2018):
  • 7.26.3.6 cnd_wait関数 (p: 277)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.26.3.6 cnd_wait関数 (p: 380)

関連項目

条件変数でタイムアウト付きでブロックする
(関数)
C++ documentation for condition_variable::wait
C++ documentation for condition_variable_any::wait