pthread_rwlock_unlock.3t (2010 09)

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.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)