pthread_mutexattr_setpshared(3P)pthread_mutexattr_setpshared(3P)NAME
pthread_mutexattr_setpshared, pthread_mutexattr_getpshared - set and get
mutex process-shared attribute
C SYNOPSIS
#include <pthread.h>
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr,
int pshared);
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *attr,
int *opshared);
DESCRIPTION
The pthread_mutexattr_getpshared() function obtains the value of the
process-shared attribute from the attributes object referenced by attr.
The pthread_mutexattr_setpshared() function is used to 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
mutex to be operated upon by any thread that has access to the memory
where the mutex is allocated, 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 will only be operated upon by threads
created within the same process as the thread that initialized the mutex;
if threads of differing processes attempt to operate on such a mutex, the
behavior is undefined. The default value of the attribute is
PTHREAD_PROCESS_PRIVATE.
Note that the process-shared attribute cannot be set to
PTHREAD_PROCESS_SHARED if the attributes specify the priority inheritance
protocol (see pthread_mutexattr_setprotocol(3P)).
DIAGNOSTICS
Upon successful completion, pthread_mutexattr_setpshared() returns zero.
Otherwise, an error number is returned to indicate the error.
Upon successful completion, pthread_mutexattr_getpshared() returns zero
and returns the value of the process-shared attribute of attr via the
opshared parameter. Otherwise, an error number is returned to indicate
the error.
[EINVAL] The new value specified for the attribute is outside the
range of legal values for that attribute.
[EINVAL] The value of pshared is PTHREAD_PROCESS_SHARED and the
protocol for the mutex attribute object has the value
PTHREAD_PRIO_INHERIT or PTHREAD_PRIO_THREAD_NP.
These functions will not return an error code of [EINTR].
Page 1
pthread_mutexattr_setpshared(3P)pthread_mutexattr_setpshared(3P)SEE ALSOpthread_create(3P), pthread_mutex_init(3P), pthread_mutex_lock(3P),
pthread_mutexattr_init(3P), pthread_cond_init(3P).
Page 2