ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages
|
This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles. For more information about the manual page format, see the manual page for manpages(5). |
PTHREAD_RWLOCK_INIT(3) BSD Library Functions Manual PTHREAD_RWLOCK_INIT(3) NAME pthread_rwlock_init -- initialize a read/write lock SYNOPSIS #include <pthread.h> int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict 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 return zero. Oth-erwise, Otherwise, erwise, an error number will be returned to indicate the error. 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''). 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 per-form perform 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 rwlock, a previously initial-ized initialized ized but not yet destroyed read/write lock. [EINVAL] The value specified by attr is invalid. 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 BSD |