pthread_cond_wait(3) BSD Library Functions Manual pthread_cond_wait(3)
pthread_cond_wait -- wait on a condition variable
#include <pthread.h> int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex);
The pthread_cond_wait() function atomically unlocks the mutex and blocks the current thread on the condition specified by the cond argument. The current thread unblocks only after another thread calls pthread_cond_signal(3) or pthread_cond_broadcast(3) with the same condi- tion variable. The mutex must be locked before calling this function, otherwise the behavior is undefined. Before pthread_cond_wait() returns to the calling function, it re-acquires the mutex.
If successful, the pthread_cond_wait() function will return zero; other- wise, an error number will be returned to indicate the error.
pthread_cond_wait() will fail if: [EINVAL] The value specified by cond or the value specified by mutex is invalid.
pthread_cond_broadcast(3), pthread_cond_destroy(3), pthread_cond_init(3), pthread_cond_signal(3), pthread_cond_timedwait(3)
pthread_cond_wait() conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). Darwin November 5, 2001 Darwin
Mac OS X 10.9.1 - Generated Thu Jan 9 05:39:54 CST 2014