| PTHREAD_RWLOCK_INIT(3) | Library Functions Manual | PTHREAD_RWLOCK_INIT(3) | 
pthread_rwlock_init —
    initialize a read/write lock
#include
    <pthread.h>
int
  
  pthread_rwlock_init(pthread_rwlock_t
    *lock, const
    pthread_rwlockattr_t *attr);
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.
If successful, the pthread_rwlock_init()
    function will return zero. Otherwise an error number will be returned to
    indicate the error.
The pthread_rwlock_init() function will
    fail if:
EAGAIN]ENOMEM]EPERM]The pthread_rwlock_init() function may
    fail if:
pthread_rwlock_destroy(3), pthread_rwlockattr_init(3), pthread_rwlockattr_setpshared(3)
The pthread_rwlock_init() function is
    expected to conform to Version 2 of the Single UNIX
    Specification (“SUSv2”).
The pthread_rwlock_init() function first
    appeared in FreeBSD 3.0.
The PTHREAD_PROCESS_SHARED attribute is not supported.
| August 4, 1998 | macOS 15.6 |