[Previous] [Contents] [Next]

pthread_cond_init()

Initialize condition variable

Synopsis:

#include <pthread.h>

pthread_cond_t cond = PTHREAD_COND_INITIALIZER;

int pthread_cond_init( pthread_cond_t* cond,
                       pthread_condattr_t* attr );

Library:

libc

Description:

The pthread_cond_init() function initializes the condition variable cond with the attributes in the condition variable attribute object attr. If attr is NULL, cond is initialized with the default values for the attributes.

If the condition variable is statically allocated it can be initialized with the default attribute values by assigning it the macro PTHREAD_COND_INITIALIZER.

Condition variables have at least the following attributes defined:

PTHREAD_PROCESS_PRIVATE
The condition variable can only be accessed by threads created within the same process as the thread that initialized the condition variable.
PTHREAD_PROCESS_SHARED
Any thread that has access to the memory where the condition variable is allocated can access the condition variable.

For more information about these attributes, see pthread_condattr_getpshared() and pthread_condattr_setpshared().

Returns:

EOK
Success.
EAGAIN
All kernel synchronization objects are in use.
EBUSY
Previously initialized condition variable, cond, hasn't been destroyed.
EFAULT
A fault occurred when the kernel tried to access cond or attr.
EINVAL
The value specified by cond is invalid.

Classification:

POSIX 1003.1 (Threads)

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pthread_condattr_init(), pthread_cond_destroy()


[Previous] [Contents] [Next]