pthread_rwlock_init(3)
NAME
pthread_rwlock_init - initialize a read/write lock
LIBRARY
library ``libc_r'' library ``libpthread'' library ``libthr''
SYNOPSIS
#include <pthread.h> int pthread_rwlock_init(pthread_rwlock_t *lock, const pthread_rwlockattr_t *attr);
DESCRIPTION
- 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 re
- turn zero. Otherwise an error number will be returned to indicate the er
- ror.
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 priv
- ilege to per
- form 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 previ
- ously initialized but not yet destroyed read/write
- lock.
- [EINVAL] The value specified by attr is invalid.
SEE ALSO
- pthread_rwlockattr_init(3), pthread_rwlockattr_setp
- shared(3),
pthread_rwlock_destroy(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.
BUGS
- The PTHREAD_PROCESS_SHARED attribute is not supported.
- BSD August 4, 1998