pthread_rwlock_unlock - Unlock a read-write lock
pthread_rwlock_t *rwlock );
DECthreads POSIX 1003.1c Library (libpthread.so)
Address of the read-write lock to be unlocked.
This routine releases a lock acquisition held on the readwrite
lock object referenced by rwlock. Results are undefined
if rwlock is not held by the calling thread.
If this routine is called to release a lock for read
access on rwlock and the calling thread also currently
holds other locks for read access on rwlock, the readwrite
lock object remains in the read locked state. If
this routine releases the calling thread's last lock for
read access on rwlock, the calling thread is not longer
one of the owners of the lock object.
If this routine is called to release a lock for write
access on rwlock, the lock object is put in the unlocked
state with no owners.
If a call to this routine results in the read-write lock
object becoming unlocked and there are multiple thread
waiting to acquire that lock for write access, DECthreads
uses the scheduling policy of those waiting threads to
determine which thread next acquires the lock object for
write access. If there are multiple thread waiting to
acquire the read-write lock object for read access, DECthreads
uses the scheduling policy of those waiting
threads to determine the order in which those threads
acquire the lock for read access. If there are multiple
threads waiting to acquire the read-write lock object for
both read and write access, it is unspecified whether a
thread waiting for read access or for write access next
acquires the lock object.
If the read-write lock object referenced by rwlock is not
initialized, the results of calling this routine are undefined.
If an error condition occurs, this routine returns an
integer value indicating the type of error. Possible
return values are as follows: Successful completion. The
values specified by rwlock does not refer to an initialized
read-write lock object. The current thread does not
hold the read-write lock object.
Manuals: Guide to DECthreads and Programmer's Guide
[ Back ]