| PTHREAD_RWLOCK_WRLOCK(3) | Library Functions Manual | PTHREAD_RWLOCK_WRLOCK(3) | 
pthread_rwlock_wrlock,
    pthread_rwlock_trywrlock —
    acquire a read/write lock for writing
#include
    <pthread.h>
int
  
  pthread_rwlock_wrlock(pthread_rwlock_t
    *lock);
int
  
  pthread_rwlock_trywrlock(pthread_rwlock_t
    *lock);
The
    pthread_rwlock_wrlock()
    function blocks until a write lock can be acquired against
    lock. The
    pthread_rwlock_trywrlock()
    function performs the same action, but does not block if the lock cannot be
    immediately obtained.
The results are undefined if the calling thread already holds the lock at the time the call is made.
To prevent writer starvation, writers are favored over readers.
If successful, the pthread_rwlock_wrlock()
    and pthread_rwlock_trywrlock() functions will return
    zero. Otherwise an error number will be returned to indicate the error.
The pthread_rwlock_trywrlock() function
    will fail if:
EBUSY]The pthread_rwlock_wrlock() and
    pthread_rwlock_trywrlock() functions may fail
  if:
pthread_rwlock_init(3), pthread_rwlock_rdlock(3), pthread_rwlock_tryrdlock(3), pthread_rwlock_unlock(3)
The pthread_rwlock_wrlock() and
    pthread_rwlock_trywrlock() functions are expected to
    conform to Version 2 of the Single UNIX
    Specification (“SUSv2”).
The pthread_rwlock_wrlock() function first
    appeared in FreeBSD 3.0.
| August 4, 1998 | macOS 15.6 |