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

Technical Reference: Base Operating System and Extensions, Volume 1

pthread_rwlockattr_init or pthread_rwlockattr_destroy Subroutines

Purpose

Initializes and destroys read-write lock attributes object.

Library

Threads Library (libpthreads.a)

Syntax

#include <pthread.h>

int pthread_rwlockattr_init (attr)
pthread_rwlockattr_t *attr;

int pthread_rwlockattr_destroy (attr)
pthread_rwlockattr_t *attr;

Description

The pthread_rwlockattr_init subroutine initializes a read-write lock attributes object attr with the default value for all of the attributes defined by the implementation. Results are undefined if pthread_rwlockattr_init is called specifying an already initialized read-write lock attributes object.

After a read-write lock attributes object has been used to initialize one or more read-write locks, any function affecting the attributes object (including destruction) does not affect any previously initialized read-write locks.

The pthread_rwlockattr_destroy subroutine destroys a read-write lock attributes object. The effect of subsequent use of the object is undefined until the object is re-initialized by another call to pthread_rwlockattr_init. An implementation may cause pthread_rwlockattr_destroy to set the object referenced by attr to an invalid value.

Parameters

attr Specifies a read-write lock attributes object to be initialized or destroyed.

Return Value

If successful, the pthread_rwlockattr_init and pthread_rwlockattr_destroy subroutines return zero. Otherwise, an error number is returned to indicate the error.

Error Codes

The pthread_rwlockattr_init subroutine will fail if:

ENOMEM Insufficient memory exists to initialize the read-write lock attributes object.

The pthread_rwlockattr_destroy subroutine will fail if:

EINVAL The value specified by attr is invalid.

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), and pthread_rwlockattr_getpshared (pthread_rwlockattr_getpshared or pthread_rwlockattr_setpshared Subroutines) subroutines.

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