|
VMS Help DCE, DCE_THREADS, Application Routines, pthread_cond_wait *Conan The Librarian |
NAME
pthread_cond_wait - Causes a thread to wait for a condition
variable to be signaled or broadcast
SYNOPSIS
#include <pthread.h>
int pthread_cond_wait( pthread_cond_t *cond,
pthread_mutex_t *mutex );
PARAMETERS
cond Condition variable waited on.
mutex Mutex associated with the condition variable
specified in cond.
DESCRIPTION
The pthread_cond_wait() routine causes a thread to wait for a condition
variable to be signaled or broadcast. Each condition corresponds to one
or more predicates based on shared data. The calling thread waits for
the data to reach a particular state (for the predicate to become true).
Call this routine after you have locked the mutex specified in mutex.
The results of this routine are unpredictable if this routine is called
without first locking the mutex.
This routine automatically releases the mutex and causes the calling
thread to wait on the condition. If the wait is satisfied as a result of
some thread calling pthread_cond_signal() or pthread_cond_broadcast(),
the mutex is reacquired and the routine returns.
A thread that changes the state of storage protected by the mutex in
such a way that a predicate associated with a condition variable might
now be true must call either pthread_cond_signal() or
pthread_cond_broadcast() for that condition variable. If neither call is
made, any thread waiting on the condition variable continues to wait.
This routine might (with low probability) return when the condition
variable has not been signaled or broadcast. When a spurious wakeup
occurs, the mutex is reacquired before the routine returns. (To handle
this type of situation, enclose this routine in a loop that checks the
predicate.)
RETURN VALUES
If the function fails, errno may be set to one of the following values:
Return Error Description
_________________________________________________________________
0 Successful completion.
-1 [EINVAL] The value specified by cond or mutex is invalid.
-1 [EDEADLK] A deadlock condition is detected.
RELATED INFORMATION
FUNCTIONS: pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
|
|