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 *cond, pthread_mutex_t *mutex);
The pthread_cond_wait() function atomically blocks the current thread waiting on the condition variable specified by cond, and releases the mutex specified by mutex. The waiting thread unblocks only after another thread calls pthread_cond_signal(3), or pthread_cond_broadcast(3) with the same condition variable, and the current thread reacquires the lock on mutex.
If successful, the pthread_cond_wait() function will return zero. Other- wise an error number will be returned to indicate the error.
The pthread_cond_wait() function 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)
The pthread_cond_wait() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). Darwin February 16, 2006 Darwin
Mac OS X 10.12.3 - Generated Sun Feb 5 15:55:27 CST 2017