#include <pthread.h>
int pthread_barrierattr_getpshared(const pthread_barrierattr_t
*
restrict attr, int *restrict pshared);
int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr,
int pshared);
The pthread_barrierattr_getpshared() function shall obtain the value of the process-shared attribute from the attributes object referenced by attr. The pthread_barrierattr_setpshared() function shall set the process-shared attribute in an initialized attributes object referenced by attr.
The process-shared attribute is set to PTHREAD_PROCESS_SHARED to permit a barrier to be operated upon by any thread that has access to the memory where the barrier is allocated. If the process-shared attribute is PTHREAD_PROCESS_PRIVATE, the barrier shall only be operated upon by threads created within the same process as the thread that initialized the barrier; if threads of different processes attempt to operate on such a barrier, the behavior is undefined. The default value of the attribute shall be PTHREAD_PROCESS_PRIVATE. Both constants PTHREAD_PROCESS_SHARED and PTHREAD_PROCESS_PRIVATE are defined in <pthread.h>.
Additional attributes, their default values, and the names of the associated functions to get and set those attribute values are implementation-defined.
If successful, the pthread_barrierattr_getpshared() function shall return zero and store the value of the process-shared attribute of attr into the object referenced by the pshared parameter. Otherwise, an error number shall be returned to indicate the error.
If successful, the pthread_barrierattr_setpshared() function shall return zero; otherwise, an error number shall be returned to indicate the error.
These functions may fail if:
The pthread_barrierattr_setpshared() function may fail if:
These functions shall not return an error code of [EINTR].
The following sections are informative.
The pthread_barrierattr_getpshared() and pthread_barrierattr_setpshared() functions are part of the Barriers option and need not be provided on all implementations.
pthread_barrier_destroy(), pthread_barrierattr_destroy(), pthread_barrierattr_init(), the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>