pthread_rwlock_init3
Initialize a read/write lock
Usage
#include <pthread.h>
int
pthread_rwlock_init(pthread_rwlock_t *restrict lock, const pthread_rwlockattr_t *restrict attr);
Library
POSIX Threads Library (libpthread, -lpthread)
Overview
The pthread_rwlock_init() function is used to initialize a read/write lock, with attributes specified by attr. If attr is NULL, the default read/write lock attributes are used.
The results of calling pthread_rwlock_init() with an already initialized lock are undefined.
Return values
If successful, the pthread_rwlock_init() function will return zero. Otherwise an error number will be returned to indicate the error.
Errors
The pthread_rwlock_init() function will fail if:
- [EAGAIN]
-
The system lacked the necessary resources (other than memory) to initialize the lock.
- [ENOMEM]
-
Insufficient memory exists to initialize the lock.
- [EPERM]
-
The caller does not have sufficient privilege to perform the operation.
The pthread_rwlock_init() function may fail if:
- [EBUSY]
-
The system has detected an attempt to re-initialize the object referenced by lock, a previously initialized but not yet destroyed read/write lock.
- [EINVAL]
-
The value specified by attr is invalid.
Releases
79 releases since FreeBSD 2.2.8-RELEASE; the text changed 43 times.