pthread_rwlockattr_init, pthread_rwlockattr_destroy - initialise and destroy read-write lock attributes object
#include <pthread.h> 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 may fail if:
- [EINVAL]
- The value specified by attr is invalid.
None.
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.
None.
<pthread.h>, pthread_rwlock_init(), pthread_rwlock_unlock(), pthread_rwlock_wrlock(), pthread_rwlock_rdlock(), pthread_rwlockattr_getpshared().