|HP-UX Reference > P
HP-UX 11i Version 3: February 2007
pthread_condattr_init(), pthread_condattr_destroy() — initialize or destroy a condition variable attributes object.
int pthread_condattr_init( pthread_condattr_t *attr );
int pthread_condattr_destroy( pthread_condattr_t *attr );
pthread_condattr_init() initializes the condition variable attributes object attr with the default values for all attributes. The attributes object describes a condition variable in detail and is passed to the condition variable initialization function.
When a condition variable attributes object is used to initialize a condition variable, the values of the individual attributes determine the characteristics of the new condition variable. Attributes objects act like additional parameters to object initialization. A single attributes object can be used in multiple calls to the function pthread_cond_init().
When a condition variable is initialized with an attributes object, the attributes are, in effect, copied into the condition variable. Consequently, any change to the attributes object will not affect any previously initialized condition variables. Once all condition variables needing a specific attributes object have been initialized, the attributes object is no longer needed.
The condition variable attributes and their default values are:
If an initialized condition variable attributes object is reinitialized, undefined behavior results.
pthread_condattr_destroy() destroys the condition variable attributes object attr. The destroyed condition variable attributes object ceases to exist and its resources are reclaimed. Using attr after it has been destroyed results in undefined behavior. A destroyed condition variable attributes object can be reinitialized using the function pthread_condattr_init().
Condition variables that have been already initialized using this attributes object are not affected by the destruction of the condition variable attributes object.
Upon successful completion, pthread_condattr_init() and pthread_condattr_destroy() return zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set).
If any of the following occur, the pthread_condattr_init() function returns the corresponding error number:
For each of the following conditions, if the condition is detected, the pthread_condattr_destroy() function returns the corresponding error number:
pthread_condattr_init() and pthread_condattr_destroy() were derived from the IEEE POSIX P1003.1c standard.