NAME
pthread_rwlockattr_getpshared
pthread_rwlockattr_setpshared —
get and set the process-shared attribute of the read-write
lock attributes object
SYNOPSIS
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 pthread_rwlockattr_getpshared ()
function shall obtain the value of the process-shared
attribute from the initialized attributes object referenced by
attr. The pthread_rwlockattr_setpshared
() function shall set the process-shared attribute in an
initialized attributes object referenced by attr.
The process-shared attribute shall be 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. See V2_chap02(3) for further requirements. The default value of the process-shared attribute shall be PTHREAD_PROCESS_PRIVATE.
Additional attributes, their default values, and the names of the associated functions to get and set those attribute values are implementation-defined.
The behavior is undefined if the value specified by the
attr argument to
pthread_rwlockattr_getpshared () or
pthread_rwlockattr_setpshared () does not refer to an
initialized read-write lock attributes object.
RETURN VALUE
Upon successful completion, the
pthread_rwlockattr_getpshared () function shall
return zero and store the value of the process-shared
attribute of attr into the object referenced by the
pshared
parameter. Otherwise, an error number shall be returned to indicate the
error.
If successful, the pthread_rwlockattr_setpshared () function shall return zero; otherwise, an error number shall be returned to indicate the error.
ERRORS
The pthread_rwlockattr_setpshared () function may fail if:
- [EINVAL]
- The new value specified for the attribute is outside the range of legal values for that attribute.
These functions shall not return an error code of [EINTR].
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
pthread_rwlock_destroy(3), pthread_rwlockattr_destroy(3)
XBD <pthread.h>
CHANGE HISTORY
First released in Issue 5.
Issue 6
The following changes are made for alignment with IEEE Std 1003.1j-2000:
- The margin code in the SYNOPSIS is changed to THR TSH to indicate that the functionality is now part of the Threads option (previously it was part of the Read-Write Locks option in IEEE Std 1003.1j-2000 and also part of the XSI extension).
- The DESCRIPTION notes that additional attributes are implementation-defined.
- The SEE ALSO section is updated.
The
restrict keyword
is added to the pthread_rwlockattr_getpshared ()
prototype for alignment with the ISO/IEC 9899:1999
(“ISO C99”) standard.
Issue 7
The pthread_rwlockattr_getpshared () and
pthread_rwlockattr_setpshared () functions are marked only
as part of the Thread Process-Shared Synchronization option as the Threads
option is now part of the Base.
The [EINVAL] error for an uninitialized read-write lock attributes object is removed; this condition results in undefined behavior.
POSIX.1-2008, Technical Corrigendum 2, XSH/TC2-2008/0292 [972] and XSH/TC2-2008/0293 [757] are applied.