pthread_cond_init(3)pthread_cond_init(3)NAMEpthread_cond_init - Initializes a condition variable
SYNOPSIS
#include <pthread.h>
int pthread_cond_init(
pthread_cond_t *cond,
const pthread_condattr_t *attr );
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program Interface
PARAMETERS
Condition variable to be initialized. Condition variable attributes
object that defines the characteristics of the condition variable to be
initialized.
DESCRIPTION
This routine initializes the condition variable (cond) with attributes
referenced by attr. If attr is NULL, the default condition variable
attributes are used.
A condition variable is a synchronization object used in conjunction
with a mutex. A mutex controls access to data that is shared among
threads; a condition variable allows threads to wait for that data to
enter a defined state.
Condition variables are not owned by a particular thread. Any associ‐
ated storage is not automatically deallocated when the creating thread
terminates.
Use the DECthreads macro PTHREAD_COND_INITIALIZER to initialize stati‐
cally allocated condition variables to the default condition variable
attributes. To call this macro, enter:
pthread_cond_t condition= PTHREAD_COND_INITIALIZER
When statically initialized, a condition variable should not also be
using pthread_cond_init(3). Also, a statically initialized condition
variable need not be destroyed using pthread_cond_destroy(3).
Under certain circumstances, it might be impossible to wait upon a
statically initialized condition variable when the process virtual
address space (or some other memory limit) is nearly exhausted. In such
a case, pthread_cond_wait(3) or pthread_cond_timedwait(3) can return
[ENOMEM]. To avoid this possibility, initialize critical condition
variables using pthread_cond_init(3).
RETURN VALUES
If an error condition occurs, this routine returns an integer value
indicating the type of error, the condition variable is not initial‐
ized, and the contents of cond are undefined. Possible return values
are as follows: Successful completion. The system lacks the necessary
resources to initialize another condition variable, or The system-
imposed limit on the total number of condition variables under execu‐
tion by a single user is exceeded. The implementation has detected an
attempt to reinitialize the object referenced by cond, a previously
initialized, but not yet destroyed condition variable. The value spec‐
ified by attr is invalid. Insufficient memory exists to initialize the
condition variable.
ERRORS
None
SEE ALSO
Functions: pthread_cond_broadcast(3), pthread_cond_destroy(3),
pthread_cond_signal(3), pthread_cond_timedwait(3), pthread_cond_wait(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_cond_init(3)