[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Technical Reference: Base Operating System and Extensions, Volume 1

pthread_rwlockattr_getpshared or pthread_rwlockattr_setpshared Subroutines

Purpose

Gets and sets process-shared attribute of read-write lock attributes object.

Library

Threads Library (libpthreads.a)

Syntax

#include <pthread.h>

int pthread_rwlockattr_getpshared (attr, pshared)
const pthread_rwlockattr_t *attr;
int *pshared;

int pthread_rwlockattr_setpshared (attr, pshared)
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 initialized the read-write lock; if threads of differing processes attempt to operate on such a read-write lock, the behavior is undefined. The default value of the process-shared attribute is PTHREAD_PROCESS_PRIVATE.

The pthread_rwlockattr_getpshared subroutine obtains the value of the process-shared attribute from the initialized attributes object referenced by attr. The pthread_rwlockattr_setpshared subroutine is used to set the process-shared attribute in an initialized attributes object referenced by attr.

Parameters

attr Specifies the initialized attributes object.
pshared Specifies the process-shared attribute of read-write lock attributes object to be gotten and set.

Return Values

If successful, the pthread_rwlockattr_setpshared subroutine returns zero. Otherwise, an error number is returned to indicate the error.

Upon successful completion, the pthread_rwlockattr_getpshared subroutine returns zero 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.

Error Codes

The pthread_rwlockattr_getpshared and pthread_rwlockattr_setpshared subroutines will fail if:

EINVAL The value specified by attr is invalid.

The pthread_rwlockattr_setpshared subroutine will fail if:

EINVAL The new value specified for the attribute is outside the range of legal values for that attribute.

Related Information

The pthread.h file.

The pthread_rwlock_init (pthread_rwlock_init or pthread_rwlock_destroy Subroutine), pthread_rwlock_unlock (pthread_rwlock_unlock Subroutine), pthread_rwlock_wrlock (pthread_rwlock_wrlock or pthread_rwlock_trywrlock Subroutines), pthread_rwlock_rdlock (pthread_rwlock_rdlock or pthread_rwlock_tryrdlock Subroutines), pthread_rwlockattr_init (pthread_rwlockattr_init or pthread_rwlockattr_destroy Subroutines) subroutines.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]