cc –mt [ flag... ] file... [ library... ] #include <pthread.h> int pthread_barrierattr_destroy(pthread_barrierattr_t *attr);
int pthread_barrierattr_init(pthread_barrierattr_t *attr);
The pthread_barrierattr_destroy() function destroys a barrier attributes object. A destroyed attr attributes object can be reinitialized using pthread_barrierattr_init(). The results of otherwise referencing the object after it has been destroyed are undefined. An implementation can cause pthread_barrierattr_destroy() to set the object referenced by attr to an invalid value.
The pthread_barrierattr_init() function initializes a barrier attributes object attr with the default value for all of the attributes defined by the implementation.
Results are undefined if pthread_barrierattr_init() is called specifying an already initialized attr attributes object.
After a barrier attributes object has been used to initialize one or more barriers, any function affecting the attributes object (including destruction) does not affect any previously initialized barrier.
Upon successful completion, the pthread_barrierattr_destroy() and pthread_barrierattr_init() functions returns 0. Otherwise, an error number is returned to indicate the error.
The pthread_barrierattr_init() function will fail if:
Insufficient memory exists to initialize the barrier attributes object.
The pthread_barrierattr_destroy() function may fail if:
The value specified by attr is invalid.
See attributes(5) for descriptions of the following attributes: