Defined in header <threads.h> | ||
---|---|---|
int cnd_timedwait( cnd_t* restrict cond, mtx_t* restrict mutex, const struct timespec* restrict time_point ); | (since C11) |
Atomically unlocks the mutex pointed to by mutex
and blocks on the condition variable pointed to by cond
until the thread is signalled by cnd_signal
or cnd_broadcast
, or until the TIME_UTC
based time point pointed to by time_point
has been reached. The mutex is locked again before the function returns.
The behavior is undefined if the mutex is not already locked by the calling thread.
Parameters
cond | - | pointer to the condition variable to block on |
mutex | - | pointer to the mutex to unlock for the duration of the block |
duration | - | pointer to a object specifying timeout time to wait until |
Return value
thrd_success
if successful, thrd_timedout
if the timeout time has been reached before the mutex is locked, or thrd_error
if an error occurred.
References
- C11 standard (ISO/IEC 9899:2011):
- 7.26.3.5 The cnd_timedwait function (p: 379-380)
See also
(C11) | blocks on a condition variable (function) |
Please login to continue.