とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

7.24.3.6 cnd_wait 関数を翻訳

翻訳

7.24.3.6 The cnd_wait function

7.24.3.6 cnd_wait 関数

Synopsis

形式

1 int cnd_wait(cnd_t *cond, mtx_t *mtx);

Description

機能

2The cnd_wait function atomically unlocks the mutexpointed to by mtx and endeavors
to block until the condition variable pointed to by cond is signaled by a call to
cnd_signal or to cnd_broadcast.When the calling thread becomes unblocked it
locks the mutexpointed to by mtx before it returns.If the mutexpointed to by mtx is
not locked by the calling thread, the cnd_wait function will act as if the abort
function is called.

cnd_wait 関数は mtx によって指されるミューテックスをアトミックにアンロックし、cnd_signal または cnd_cnd_broadcast の呼出しによって cond によって指される条件変数がシグナル状態になるまでブロックを試みる。呼んでいるスレッドがアンブロック状態になった時、それは return の前に mtx によって指されるミューテックスをロックする。もし mtx が指すミューテックスが呼んでいるスレッドによってロックされていないなら、cnd_wait 関数は abort 関数の呼出しと同じ動作をする。

Returns

返却値

3The cnd_wait function returns thrd_success on success or thrd_error if the
request could not be honored.

cnd_wait 関数は成功時に thrd_success、要求を受け付けることができなかった時に thrd_error を返す。

参照元

Draft N1425 (PDF)
7.24 Threads
7.24.3.6 The cnd_wait function