|
pthread_cond_init(3)
Contents
|
pthread_cond_init - Initializes a condition variable
#include <pthread.h>
int pthread_cond_init(
pthread_cond_t *cond,
const pthread_condattr_t *attr );
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Interface
Condition variable to be initialized. Condition variable
attributes object that defines the characteristics of the
condition variable to be initialized.
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 associated storage is not automatically deallocated
when the creating thread terminates.
Use the DECthreads macro PTHREAD_COND_INITIALIZER to initialize
statically 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).
If an error condition occurs, this routine returns an
integer value indicating the type of error, the condition
variable is not initialized, 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 systemimposed
limit on the total number of condition variables
under execution 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 specified
by attr is invalid. Insufficient memory exists to initialize
the condition variable.
None
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)
[ Back ] |