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)

tribblix@gmail.com :: GitHub :: Privacy