PTHREAD_COND_SIGNAL(3C)                         Standard C Library Functions
NAME
       pthread_cond_signal, pthread_cond_broadcast - signal or broadcast a
       condition
SYNOPSIS
       cc -mt [ 
flag... ] 
file... -lpthread [ 
library... ]
       #include <pthread.h>       
int pthread_cond_signal(
pthread_cond_t *cond);       
int pthread_cond_broadcast(
pthread_cond_t *cond);
DESCRIPTION
       These two functions are used to unblock threads blocked on a
       condition variable.
       The 
pthread_cond_signal() call unblocks at least one of the threads
       that are blocked on the specified condition variable 
cond (if any
       threads are blocked on 
cond).
       The 
pthread_cond_broadcast() call unblocks all threads currently
       blocked on the specified condition variable 
cond.
       If more than one thread is blocked on a condition variable, the
       scheduling policy determines the order in which threads are
       unblocked. When each thread unblocked as a result of a       
pthread_cond_signal() or 
pthread_cond_broadcast() returns from its
       call to 
pthread_cond_wait() or 
pthread_cond_timedwait(), the thread
       owns the mutex with which it called 
pthread_cond_wait() or       
pthread_cond_timedwait(). The thread(s) that are unblocked contend
       for the mutex according to the scheduling policy (if applicable), and
       as if each had called 
pthread_mutex_lock().
       The 
pthread_cond_signal() or 
pthread_cond_broadcast() functions may
       be called by a thread whether or not it currently owns the mutex that
       threads calling 
pthread_cond_wait() or 
pthread_cond_timedwait() have
       associated with the condition variable during their waits; however,
       if predictable scheduling behavior is required, then that mutex is
       locked by the thread calling 
pthread_cond_signal() or       
pthread_cond_broadcast().
       The 
pthread_cond_signal() and 
pthread_cond_broadcast() functions have
       no effect if there are no threads currently blocked on 
cond.
RETURN VALUES
       If successful, the 
pthread_cond_signal() and 
pthread_cond_broadcast()       functions return  
0. Otherwise, an error number is returned to
       indicate the error.
ERRORS
       The  
pthread_cond_signal() and 
pthread_cond_broadcast() function may
       fail if:       
EINVAL                 The value 
cond does not refer to an initialized condition
                 variable.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       pthread_cond_init(3C), 
pthread_cond_timedwait(3C),       
pthread_cond_wait(3C), 
attributes(7), 
condition(7), 
standards(7)                               March 23, 2005        PTHREAD_COND_SIGNAL(3C)