pthread_rwlock_wrlock(3T)pthread_rwlock_wrlock(3T)NAMEpthread_rwlock_wrlock(), pthread_rwlock_trywrlock() - lock or attempt
to lock a read-write lock for writing
SYNOPSISPARAMETERS
rwlock Pointer to the read-write lock to be locked for writ‐
ing.
DESCRIPTION
The function applies a write lock to the read-write lock object refer‐
enced by rwlock. The calling thread acquires the write lock if no
other thread (reader or writer) holds the read-write lock rwlock. Oth‐
erwise, the thread blocks (that is, it does not return from the call)
until it can acquire the lock. Results are undefined if the calling
thread holds the read-write lock (whether a read or a write lock) at
the time the call is made.
The function applies a write lock as in the function with the exception
that the function fails if any thread currently holds rwlock (for read‐
ing or writing).
Results are undefined if any of these functions are called with an
uninitialized read-write lock.
If a signal is delivered to a thread waiting for a read-write lock,
upon return from the signal handler, the thread shall resume waiting
for the read-write lock as if it was not interrupted.
RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error number
is returned to indicate the error (the variable is not set).
ERRORS
If any of the following occur, the function returns the corresponding
error number:
[EBUSY] The read-write lock rwlock could not be acquired
for writing because it was already locked for
reading or writing.
For each of the following conditions, if the condition is detected, the
and functions return the corresponding error number:
[EINVAL] The value specified by rwlock does not refer to
an initialized read-write lock.
[EDEADLK] The current thread already owns the read-write
lock for reading or writing.
AUTHOR
and were developed by X/Open.
SEE ALSOpthread_rwlock_init(3T), pthread_rwlock_destroy(3T),
pthread_rwlock_tryrdlock(3T), pthread_rwlock_rdlock(3T),
pthread_rwlock_unlock(3T).
STANDARDS CONFORMANCE
Pthread Library pthread_rwlock_wrlock(3T)