NAME

pthread_cond_init - create a condition variable

LIBRARY

POSIX Thread Library (libpthread, -lpthread)

SYNOPSIS



int pthread_cond_init(pthread_cond_t * restrict cond, const pthread_condattr_t * restrict attr)

DESCRIPTION

The pthread_cond_init() function creates a new condition variable, with attributes specified with attr. If attr is NULL the default attributes are used.

Condition variables are intended to be used to communicate changes in the state of data shared between threads. Condition variables are always associated with a mutex to provide synchronized access to the shared data. A single predicate should always be associated with a condition variable. The predicate should identify a state of the shared data that must be true before the thread proceeds.

RETURN VALUES

If successful, the pthread_cond_init() function will return zero and put the new condition variable id into cond, otherwise an error number will be returned to indicate the error.

ERRORS

pthread_cond_init() shall fail if:

[EAGAIN]
The system lacks the resources to initialize another condition variable.

[ENOMEM]
The process cannot allocate enough memory to initialize another condition variable.

pthread_cond_init() may fail if:

[EINVAL]
The value specified by attr is invalid.

SEE ALSO

pthread_cond_broadcast(3), pthread_cond_destroy(3), pthread_cond_signal(3), pthread_cond_timedwait(3), pthread_cond_wait(3)

STANDARDS

pthread_cond_init() conforms to ISO/IEC 9945-1:1996 (``POSIX.1'') .