[Previous] [Contents] [Next]

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 );

Library:

libc

Description:

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

If the process-shared attribute is set to 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 is shared by multiple processes.

If the process-shared attribute is PTHREAD_PROCESS_PRIVATE, the mutex can only be accessed 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.

Returns:

EOK
Success.
EINVAL
Invalid mutex attribute object, attr.
EINVAL
The new value specified in pshared isn't PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE.

Classification:

POSIX 1003.1 (Threads)

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

See also:

pthread_cond_init(), pthread_create(), pthread_mutexattr_getpshared(), pthread_mutexattr_getrecursive(), pthread_mutex_init(), pthread_mutexattr_setrecursive()


[Previous] [Contents] [Next]