|Skip Navigation Links|
|Exit Print View|
|man pages section 2: System Calls Oracle Solaris 10 1/13 Information Library|
- signal a condition variable
#include <sys/lwp.h> int _lwp_cond_signal(lwp_cond_t *cvp);
int _lwp_cond_broadcast(lwp_cond_t *cvp);
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.
Upon successful completion, 0 is returned. A non-zero value indicates an error.
The _lwp_cond_signal() and _lwp_cond_broadcast() functions will fail if:
The cvp argument points to an invalid LWP condition variable.
The cvp argument points to an invalid address.