NAME
pthread_rwlock_init —
initialize a read/write lock
LIBRARY
library “libpthread”
SYNOPSIS
#include
<pthread.h>
int
pthread_rwlock_init(pthread_rwlock_t
*lock, const
pthread_rwlockattr_t *attr);
DESCRIPTION
Thepthread_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.
SEE ALSO
pthread_rwlock_destroy(3), pthread_rwlockattr_init(3), pthread_rwlockattr_setpshared(3)
STANDARDS
The pthread_rwlock_init() function is
expected to conform to Version 2 of the Single UNIX
Specification (“SUSv2”).
HISTORY
The pthread_rwlock_init() function first
appeared in FreeBSD 3.0.