pthread_mutexattr_setpshared()

Set the process-shared attribute in mutex attribute object

Synopsis:

#include <pthread.h>

int pthread_mutexattr_setpshared( 
                         pthread_mutexattr_t* attr,
                         int pshared );

Arguments:

attr
A pointer to the pthread_mutexattr_t object that you want to set the attribute in.
pshared
The new value of the process-shared attribute; one of:
  • PTHREAD_PROCESS_SHARED — any thread that has access to the memory where the mutex is allocated can operate on it, even if the mutex is allocated in memory that's shared by multiple processes.
  • PTHREAD_PROCESS_PRIVATE — the mutex can be accessed only by threads created within the same process as the thread that initialized the mutex; if threads from other processes try to access the PTHREAD_PROCESS_PRIVATE mutex, the behavior is undefined.

The default value of the process-shared attribute is PTHREAD_PROCESS_PRIVATE.

Library:

libc

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

Description:

The pthread_mutexattr_setpshared() function sets the process-shared attribute in a mutex attribute object, attr, to the value given by pshared.

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 mutexes 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 new value specified in pshared isn't PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE.

Classification:

POSIX 1003.1 TSH

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