pthread_cond_init()
QNX SDP8.0C Library ReferenceAPIDeveloper
Initialize a condition variable
Synopsis:
#include <pthread.h>
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
int pthread_cond_init( pthread_cond_t *cond,
const pthread_condattr_t *attr );
Arguments:
- cond
- A pointer to the pthread_cond_t object that you want to initialize.
Note:It's always safe, and typically faster, to assure that cond is 32-bit aligned.
- attr
- NULL, or a pointer to a pthread_condattr_t object that specifies the attributes that you want to use for the condvar. For more information, see pthread_condattr_init().
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
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 (see pthread_condattr_init()).
CAUTION:
You should allocate synchronization objects only in normal memory mappings.
On certain processors, atomic operations such as calls to
pthread_mutex_lock()
will cause a fault if the control structure is allocated in uncached memory.
If the condition variable is statically allocated, you can initialize it
with the default attribute values by assigning to it the macro
PTHREAD_COND_INITIALIZER
.
If you attempt to initialize an already initialized condition variable, then this results in undefined behavior.
Returns:
- EOK
- Success.
- EFAULT
- A fault occurred when the kernel tried to access cond or attr.
- EINVAL
- The value specified by cond is invalid.
- ENOMEM
- All kernel synchronization objects are in use, or there wasn't enough memory to initialize the condvar.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Page updated: