CND(3) | Library Functions Manual | CND(3) |
cnd
—
#include <threads.h>
int
cnd_broadcast
(cnd_t
*cond);
void
cnd_destroy
(cnd_t
*cond);
int
cnd_init
(cnd_t
*cond);
int
cnd_signal
(cnd_t
*cond);
int
cnd_timedwait
(cnd_t * __restrict
cond, mtx_t * __restrict mtx,
const struct timespec * __restrict ts);
int
cnd_wait
(cnd_t
*cond, mtx_t
*mtx);
cnd_broadcast
() function unblocks all threads that
are blocked on a condition variable cond at the time of
the call. If no thread is blocked on the cond condition
variable at the time of the call, the function does nothing and returns
success.
The cnd_destroy
() function destroys the
cond condition variable.
The cnd_init
() function initializes a new
cond variable.
The cnd_signal
() function unblock one
thread that currently waits on the cond variable. If
there are no threads blocked, cnd_signal
() does
nothing and returns success.
The cnd_timedwait
() function atomically
unlocks the mutex mtx and blocks on the condition
variable cond until a thread is signalled by a call to
cnd_signal
() or
cnd_broadcast
() or timeout ts
has been reached. The ts parameter is specified as
TIME_UTC
based calendar time. If the mutex is not
locked by the calling thread then behavior is undefined.
The cnd_wait
() function atomically unlocks
the mutex mtx and tries to block on the conditional
variable cond until a thread is signalled by a call to
cnd_signal
() or
cnd_broadcast
(). The mtx mutex
is locked again before the function returns. If the mutex is not locked by
the calling thread then behavior is undefined.
cnd_broadcast
() function returns
thrd_success
on success or
thrd_error
on failure.
The cnd_destroy
() function returns no
value.
The cnd_init
() function returns
thrd_success
on success or
thrd_error
on failure.
The cnd_signal
() function returns
thrd_success
on success or
thrd_error
on failure.
The cnd_timedwait
() function returns
thrd_success
on success, otherwise
thrd_timedout
to indicate that system time has
reached or exceeded the time specified in ts
, or
thrd_error
on failure.
The cnd_wait
() function returns
thrd_success
on success or
thrd_error
on failure.
cnd
interface conforms to ISO/IEC
9899:2011 (“ISO C11”).
October 16, 2016 | NetBSD 9.0 |