Initialises and destroys read-write lock attributes object.
Threads Library (libpthreads.a)
int pthread_rwlockattr_init (pthread_rwlockattr_t *attr); int pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr);
The function pthread_rwlockattr_init initialises 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 initialised read-write lock attributes object.
After a read-write lock attributes object has been used to initialise one or more read-write locks, any function affecting the attributes object (including destruction) does not affect any previously initialised 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-initialised 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.
If successful, the pthread_rwlockattr_init and pthread_rwlockattr_destroy functions return zero. Otherwise, an error number is returned to indicate the error.
The pthread_rwlockattr_init function will fail if:
|ENOMEM||Insufficient memory exists to initialise the read-write lock attributes object.|
The pthread_rwlockattr_destroy function will fail if:
|EINVAL||The value specified by attr is invalid.|
Similar functions are being developed by IEEE PASC. In keeping with its objective of ensuring that CAE Specifications are fully aligned with formal standards, The Open Group intends to add any new interfaces adopted by an official IEEE standard in this area.
The pthread.h file.
The pthread_rwlock_init (pthread_rwlock_init, 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.