HP-UX Reference (11i v1 05/09) - 3 Library Functions N-Z (vol 7)

p
pthread_rwlock_unlock(3T) pthread_rwlock_unlock(3T)
(Pthread Library)
NAME
pthread_rwlock_unlock() - unlock a read-write lock.
SYNOPSIS
#include <pthread.h>
int pthread_rwlock_unlock(
pthread_rwlock_t *rwlock
);
PARAMETERS
rwlock Pointer to the read-write lock to be unlocked.
DESCRIPTION
The function pthread_rwlock_unlock()
is called by the owner to release the read-write lock refer-
enced 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
pthread_rwlock_unlock()
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 scheduling 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,
pthread_rwlock_unlock()
returns zero. Otherwise, an error number is
returned to indicate the error (the
errno variable is not set).
ERRORS
For each of the following conditions, if the condition is detected, the pthread_rwlock_unlock()
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
pthread_rwlock_unlock()
was developed by X/Open.
SEE ALSO
pthread_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_rwlock_unlock():X/Open.
Section 3750 Hewlett-Packard Company 1 HP-UX 11i Version 1: September 2005