pthread_barrierattr_setpshared()

Updated: April 19, 2023

Set the value of a barrier's process-shared attribute

Synopsis:

#include <sync.h>

int pthread_barrierattr_setpshared( 
                        pthread_barrierattr_t * attr
                        int pshared );

Arguments:

attr
A pointer to the pthread_barrierattr_t object whose attribute you want to set. You must have initialized this object by calling pthread_barrierattr_init() before calling pthread_barrierattr_setpshared().
pshared
The new value of the process-shared attribute; one of:
  • PTHREAD_PROCESS_SHARED — allow a barrier to be operated upon by any thread that has access to the memory where the barrier is allocated.
  • PTHREAD_PROCESS_PRIVATE (default behavior) — allow a barrier to be operated on only by threads created within the same process as the thread that initialized the barrier.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_barrierattr_setpshared() function sets the process-shared attribute in an initialized attributes object referenced by attr.

Note: (QNX Neutrino 7.0.1 or later) If you started procnto with the -s option, set the process-shared attribute to PTHREAD_PROCESS_SHARED for any barriers that are shared between processes. For more information, see Safely sharing mutexes, barriers, and reader/writer locks between processes in the QNX Neutrino Microkernel” chapter of the System Architecture guide.

Returns:

EOK
Success.
EINVAL
The attribute object, attr, or the new value specified in pshared isn't valid.

Classification:

POSIX 1003.1 TSH

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes