PTHREAD_RWLOCKATTR_GETPSHARED(3C) Standard C Library Functions


NAME


pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared - get or set
process-shared attribute of read-write lock attributes object

SYNOPSIS


cc -mt [ flag... ] file... -lpthread [ library... ]
#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:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+

SEE ALSO


pthread_rwlock_init(3C), pthread_rwlock_rdlock(3C),
pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C),
pthread_rwlockattr_init(3C), attributes(7), standards(7)


March 23, 2005
PTHREAD_RWLOCKATTR_GETPSHARED(3C)