pthread_cond_init(3T)pthread_cond_init(3T)NAMEpthread_cond_init(), pthread_cond_destroy() - initialize or destroy a
condition variable
SYNOPSISPARAMETERS
cond Pointer to the condition variable to be initialized or
destroyed.
attr Pointer to the attributes object that defines the
characteristics of the condition variable to be ini‐
tialized. If the pointer is NULL, default attributes
are used.
DESCRIPTION
The function initializes the condition variable cond with the
attributes attr. If attr is NULL, the default condition variable
attributes are used to initialize the attributes object. See
pthread_condattr_init(3T) for a list of the default condition variable
attributes. After successful initialization, the condition variable
may be used in condition variable operations. A condition variable
should be initialized only once or the resulting behavior is undefined.
The function provides a way to ensure that a condition variable is only
initialized once.
The macro can be used to initialize condition variables that are stati‐
cally allocated. These condition variables will be initialized with
default attributes. The function does not need to be called for stati‐
cally initialized condition variables.
If the process-shared attribute in the condition variable attributes
object referenced by attr is defined as the condition variable must be
allocated such that the processes sharing the condition variable have
access to it. This may be done through the memory-mapping functions
(see mmap(2)) or the shared memory functions (see shmget(2)).
destroys the condition variable cond. This function may set cond to an
invalid value. The destroyed condition variable can be reinitialized
using the function If the condition variable is used after destruction
in any condition variable call, the resulting behavior is undefined.
A condition variable should be destroyed only when there are no threads
currently blocked on it. Destroying a condition variable that is cur‐
rently in use results in undefined behavior.
RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error num‐
ber is returned to indicate the error (the variable is not set).
ERRORS
If any of the following occur, the function returns the corresponding
error number:
The system does not have the available resources (other than
memory)
to initialize the condition variable.
The specified condition variable is an already initialized con‐
dition
variable. However, getting for reinitializing
the condition variable cannot be expected all the
time since the behavior of reinitializing the
condition variable is undefined.
The cond parameter points to an illegal address.
The value specified by
cond or attr is invalid.
There is insufficient memory available in which to initialize
the condition variable.
If any of the following occur, the function returns the corresponding
error number:
An attempt to destroy
cond while it is in use by another thread.
cond is not a valid condition variable.
WARNINGS
The space for condition variable must be allocated before calling Unde‐
fined behavior will result if the process-shared attribute of attr is
and the space allocated for the condition variable is not accessible to
cooperating threads.
AUTHOR
and were derived from the IEEE POSIX P1003.1c standard.
SEE ALSOpthread_cond_signal(3T), pthread_cond_wait(3T).
STANDARDS CONFORMANCE
Pthread Library pthread_cond_init(3T)