pthread_rwlock_unlock(3T)pthread_rwlock_unlock(3T)NAMEpthread_rwlock_unlock() - unlock a read-write lock.
SYNOPSISPARAMETERS
rwlock Pointer to the read-write lock to be unlocked.
DESCRIPTION
The function is called by the owner to release the read-write lock ref‐
erenced by rwlock. Results are undefined if the read-write lock rwlock
is not held by the calling thread.
If this function is called to release a read lock on the read-write
lock rwlock and there are other read locks currently held on this read-
write lock, the read-write lock shall remain in the read locked state
but without the current thread as one of its owners. If this function
releases the last read lock for this read-write lock, the object shall
be put in the unlocked state with no owners.
If this function is called to release a write lock on the read-write
lock rwlock, the read-write lock shall be put in the unlocked state
with no owners.
If the call to the function results in the read-write lock becoming
unlocked and there are threads waiting to acquire the read-write lock
for writing, the scheduling policy is used to determine which thread
shall acquire the read-write lock for writing. If there are threads
waiting to acquire the read-write lock object for reading, the schedul‐
ing policy is used to determine the order in which the waiting threads
shall acquire the read-write lock object for reading. If there are
multiple threads blocked on rwlock for both read locks and write locks,
it is unspecified whether the readers will acquire the lock first or
whether a writer will acquire the lock first.
Results are undefined if this function is called with an uninitialized
read-write lock.
RETURN VALUE
Upon successful completion, returns zero. Otherwise, an error number is
returned to indicate the error (the variable is not set).
ERRORS
For each of the following conditions, if the condition is detected, the
function returns the corresponding error number:
[EINVAL] The value specified by rwlock does not refer to
an initialized read-write lock object.
[EPERM] The current thread does not own the read-write
lock.
AUTHOR
was developed by X/Open.
SEE ALSOpthread_rwlock_init(3T), pthread_rwlock_destroy(3T),
pthread_rwlock_rdlock(3T), pthread_rwlock_wrlock(3T),
pthread_rwlock_tryrdlock(3T), pthread_rwlock_trywrlock(3T).
STANDARDS CONFORMANCE
Pthread Library pthread_rwlock_unlock(3T)