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

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

7.24.3.5 cnd_timedwait 関数を翻訳

翻訳

7.24.3.5 The cnd_timedwait function

7.24.3.5 cnd_timedwait 関数

Synopsis

形式

1 int cnd_timedwait(cnd_t *cond, mtx_t *mtx, const xtime *xt);

Description

機能

2The cnd_timedwait 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,oruntil after the time specified by the xtime
object pointed to by xt.When the calling thread becomes unblocked it locks the variable
pointed to by mtx before it returns.The cnd_timedwait function requires that the
mutexpointed to by mtx be locked by the calling thread.

cnd_timedwait 関数は mtx によって指されるミューテックスをアトミックにアンロックし、cnd_signal の呼出しまたはcnd_broadcastの呼出しによって cond が指す条件変数がシグナル状態になるまで、または xt が指す xtime オブジェクトによって示される時間のあとになるまでブロックを試みる。呼んだスレッドがアンブロッック状態になったとき、それは return の前に mtx が指す変数をロックする。cnd_timedwait 関数は呼んでいるスレッドによってロックされている mtx が指すミューテックスを要求する。

Returns

返却値

3The cnd_timedwait function returns thrd_success upon success, or
thrd_timeout if the time specified in the call was reached without acquiring the
requested resource, or thrd_error if the request could not be honored.

cnd_timedwait 関数は成功時に thrd_success、呼出し時に指定した時間を越えリソースの要求を取得できなかった時に thrd_timeout、要求を受け付けることができなかった時に thrd_error を返す。

参照元

Draft N1425 (PDF)
7.24 Threads
7.24.3.5 The cnd_timedwait function