man pages section 2: System Calls

Exit Print View

Updated: July 2014
 
 

_lwp_cond_signal(2)

Name

_lwp_cond_signal, _lwp_cond_broadcast - signal a condition variable

Synopsis

#include <sys/lwp.h>

int _lwp_cond_signal(lwp_cond_t *cvp);
int _lwp_cond_broadcast(lwp_cond_t *cvp);

Description

The _lwp_cond_signal() function unblocks one LWP that is blocked on the LWP condition variable pointed to by cvp.

The _lwp_cond_broadcast() function unblocks all LWPs that are blocked on the LWP condition variable pointed to by cvp.

If no LWPs are blocked on the LWP condition variable, then _lwp_cond_signal() and _lwp_cond_broadcast() have no effect.

Both functions should be called under the protection of the same LWP mutex lock that is used with the LWP condition variable being signaled. Otherwise, the condition variable may be signalled between the test of the associated condition and blocking in _lwp_cond_wait(). This can cause an infinite wait.

Return Values

Upon successful completion, 0 is returned. A non-zero value indicates an error.

Errors

The _lwp_cond_signal() and _lwp_cond_broadcast() functions will fail if:

EINVAL

The cvp argument points to an invalid LWP condition variable.

EFAULT

The cvp argument points to an invalid address.

See also

_lwp_cond_wait(2), _lwp_mutex_lock(2)