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, or until a spurious wake-up occurs. The mutex is locked again before the function returns.
The behavior is undefined if the mutex is not already locked by the calling thread.
cond | - | pointer to the condition variable to block on |
mutex | - | pointer to the mutex to unlock for the duration of the block |
time_point | - | pointer to a object specifying timeout time to wait until |
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.
(C11) | blocks on a condition variable (function) |
C++ documentation for condition_variable::wait_until |
|
C++ documentation for condition_variable_any::wait_until |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/thread/cnd_timedwait