Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PTHREAD_COND_WAIT(3)	 BSD Library Functions Manual	  PTHREAD_COND_WAIT(3)

NAME
     pthread_cond_wait -- wait on a condition variable

LIBRARY
     POSIX Threads Library (libpthread,	-lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_cond_wait(pthread_cond_t *restrict	cond,
	 pthread_mutex_t *restrict mutex);

DESCRIPTION
     The pthread_cond_wait() function atomically blocks	the current thread
     waiting on	the condition variable specified by cond, and releases the mu-
     tex 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.

RETURN VALUES
     If	successful, the	pthread_cond_wait() function will return zero.	Other-
     wise an error number will be returned to indicate the error.

ERRORS
     The pthread_cond_wait() function will fail	if:

     [EINVAL]		The value specified by cond or the value specified by
			mutex is invalid.

     [EPERM]		The specified mutex was	not locked by the calling
			thread.

     [EOWNERDEAD]	The argument mutex points to a robust mutex and	the
			previous owning	thread terminated while	holding	the
			mutex lock.  The lock was granted to the caller	and it
			is up to the new owner to make the state consistent.

     [ENOTRECOVERABLE]	The state protected by the mutex is not	recoverable.

SEE ALSO
     pthread_cond_broadcast(3),	pthread_cond_destroy(3), pthread_cond_init(3),
     pthread_cond_signal(3), pthread_cond_timedwait(3),
     pthread_mutex_consistent(3)

STANDARDS
     The pthread_cond_wait() function conforms to ISO/IEC 9945-1:1996
     ("POSIX.1").

BSD				August 17, 2018				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pthread_cond_wait&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help