pthread_rwlockattr_setpshared(3C)
Name
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared - get or set process-shared attribute of read-write lock attributes object
Synopsis
#include <pthread.h>
int pthread_rwlockattr_getpshared(
const pthread_rwlockattr_t *restrict attr,
int *restrict pshared);
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr,
int pshared);
Description
The process-shared attribute is set to
PTHREAD_PROCESS_SHARED to permit a read-write lock to be operated
upon by any thread that has access to the memory where the read-write lock is allocated,
even if the read-write lock is allocated in memory that is shared by multiple processes.
If the process-shared attribute is
PTHREAD_PROCESS_PRIVATE, the read-write lock will only be
operated upon by threads created within the same process as the thread that initialised
the read-write lock. If threads of differing processes attempt to operate on such a
read-write lock, the behaviour is undefined. The default value of the
process-shared attribute is
PTHREAD_PROCESS_PRIVATE.
The pthread_rwlockattr_getpshared() function obtains the value of the
process-shared attribute from the initialised attributes
object referenced by attr. The
pthread_rwlockattr_setpshared() function is used to set the
process-shared attribute in an initialised attributes
object referenced by attr.
Return Values
If successful, the pthread_rwlockattr_setpshared() function returns 0. Otherwise, an error number is returned to indicate the error.
Upon successful completion, the pthread_rwlockattr_getpshared() returns 0 and stores the value of the process-shared attribute of attr into the object referenced by the pshared parameter.
Otherwise an error number is returned to indicate the error.
Errors
The pthread_rwlockattr_getpshared() and pthread_rwlockattr_setpshared() functions will fail if:
- EINVAL
The value specified by attr or pshared is invalid.
Attributes
See attributes(7) for descriptions of the following attributes:
|
|
Interface Stability
|
Committed
|
MT-Level
|
MT-Safe
|
Standard
|
|
|
See Also
pthread_rwlock_init(3C), pthread_rwlock_rdlock(3C), pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C), , attributes(7), standards(7)
Notes
Previous releases of Oracle Solaris provided the
PTHREAD_RWSCALE_PRIVATE_NP value of the
process-shared attribute. This value is now deprecated
but is still supported for source and binary compatibility. When passed to the
pthread_rwlock_init() function, it is transformed into
(PTHREAD_PROCESS_PRIVATE | PTHREAD_RWLOCK_SCALABLE_NP).