Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

pthread_mutexattr_getpshared()

Get the process-shared attribute from a mutex attribute object

Synopsis:

#include <pthread.h>

int pthread_mutexattr_getpshared( 
            const pthread_mutexattr_t* attr, 
            int* pshared );

Arguments:

attr
A pointer to the pthread_mutexattr_t object that you want to get the attribute from.
pshared
A pointer to a location where the function can store the process-shared attribute.

Library:

libc

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

Description:

The pthread_mutexattr_getpshared() function gets the process-shared attribute from the mutex attribute object attr and stores it in the memory pointed to by pshared.

If the process-shared attribute is set to PTHREAD_PROCESS_SHARED, any thread that has access to the memory where the condition variable is allocated can operate on it, even if the condition variable is allocated in memory that's shared by multiple processes.

If the process-shared attribute is PTHREAD_PROCESS_PRIVATE, the condition variable can only be accessed by threads created within the same process as the thread that initialized the condition variable; if threads from other processes try to access the PTHREAD_PROCESS_PRIVATE condition variable, the behavior is undefined. The default value of the process-shared attribute is PTHREAD_PROCESS_PRIVATE.

Returns:

EOK
Success.
EINVAL
The mutex attribute object specified by attr is invalid.

Classification:

POSIX 1003.1 THR TSH

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

See also:

pthread_cond_init(), pthread_create(), pthread_mutex_init(), pthread_mutexattr_setpshared(), pthread_mutexattr_setrecursive()