The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The IEEE and The Open Group

#### NAME

> pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared - get and set the process-shared attribute of the read-write lock attributes object

#### SYNOPSIS

> ``[TSH] #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 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 Synchronization Object Copies and Alternative Mappings 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].

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> pthread_rwlock_destroy, pthread_rwlockattr_destroy

> 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 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.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]