|HP-UX Reference > P
HP-UX 11i Version 3: February 2007
pthread_rwlockattr_getpshared(), pthread_rwlockattr_setpshared() — get or set the process-shared attribute
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, int pshared);
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *__restrict attr, int *__restrict pshared);
The attributes object attr must have been previously initialized with the function pthread_rwlockattr_init() before these functions are called.
Read-Write locks can be used only by threads within the process or shared by threads in multiple processes. The process-shared attribute in a read-write lock attributes object describes who may use the read-write lock. The legal values for the process-shared attribute are:
The default value of process-shared is PTHREAD_PROCESS_PRIVATE.
pthread_rwlockattr_setpshared() is used to set the process-shared attribute in the initialized attributes object attr. The new value of the process-shared attribute of attr is set to the value specified in the pshared parameter.
pthread_rwlockattr_getpshared() retrieves the value of the process-shared attribute from the read-write lock attributes object attr. The value of the process-shared attribute of attr is returned in the pshared parameter.
Upon successful completion, pthread_rwlockattr_getpshared() and pthread_rwlockattr_setpshared() return zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set).
If any of the following occur, the pthread_rwlockattr_getpshared() and pthread_rwlockattr_setpshared() functions return the corresponding error number:
For each of the following conditions, if the condition is detected, the pthread_rwlockattr_getpshared() and pthread_rwlockattr_setpshared() functions return the corresponding error number:
If a read-write lock is created with the process-shared attribute defined as PTHREAD_PROCESS_SHARED, the cooperating processes should have access to the memory in which the read-write lock is allocated.