man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

pthread_rwlockattr_init(3C)

Name

pthread_rwlockattr_init, pthread_rwlockattr_destroy - initialize or destroy read-write lock attributes object

Synopsis

cc –mt [ flag... ] file... [ library... ]
#include <pthread.h>

int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);
int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr);

Description

The pthread_rwlockattr_init() function 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() function 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 can cause pthread_rwlockattr_destroy() to set the object referenced by attr to an invalid value.

Return Values

If successful, the pthread_rwlockattr_init() and pthread_rwlockattr_destroy() functions return 0. Otherwise, an error number is returned to indicate the error.

Errors

The pthread_rwlockattr_init() function will fail if:

ENOMEM

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

The pthread_rwlockattr_destroy() function may fail if:

EINVAL

The value specified by attr is invalid.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See also

pthread_rwlock_init(3C), pthread_rwlock_rdlock(3C), pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C), pthread_rwlockattr_getpshared(3C), attributes(5), standards(5)