cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h>
int pthread_condattr_init(pthread_condattr_t *attr);
int pthread_condattr_destroy(pthread_condattr_t *attr);
The pthread_condattr_init() function initializes a condition variable attributes object attr with the default value for all of the attributes defined by the implementation.
At present, the only attribute available is the scope of condition variables. The default scope of the attribute is PTHREAD_PROCESS_PRIVATE.
Attempts to initialize previously initialized condition variable attributes object will leave the storage allocated by the previous initialization unallocated.
After a condition variable attributes object has been used to initialize one or more condition variables, any function affecting the attributes object (including destruction) does not affect any previously initialized condition variables.
The pthread_condattr_destroy() function destroys a condition variable attributes object; the object becomes, in effect, uninitialized. An implementation may cause pthread_condattr_destroy() to set the object referenced by attr to an invalid value. A destroyed condition variable attributes object can be re-initialized using pthread_condattr_init(); the results of otherwise referencing the object after it has been destroyed are undefined.
Additional attributes, their default values, and the names of the associated functions to get and set those attribute values are implementation-dependent.
If successful, the pthread_condattr_init() and pthread_condattr_destroy() functions return 0. Otherwise, an error number is returned to indicate the error.
The pthread_condattr_init() function will fail if:
ENOMEM Insufficient memory exists to initialize the condition variable attributes object.
The pthread_condattr_destroy() function may fail if:
EINVAL The value specified by attr is invalid.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
pthread_condattr_getpshared(3C), pthread_condattr_setpshared(3C), pthread_cond_init(3C), pthread_create(3C), pthread_mutex_init(3C), attributes(5), standards(5)