release a reader-writer lock
cc [options] -Kthread file
int rw_unlock(rwlock_t *lock);
rw_unlock releases a reader-writer lock
previously acquired by rw_rdlock, rw_wrlock,
rw_tryrdlock, or rw_trywrlock.
The behavior differs according to whether the caller
is a reader or a writer:
When a writer calls rw_unlock,
the lock is unlocked.
When a reader calls rw_unlock,
the reader count is decremented.
If the reader count is zero,
rw_unlock unlocks the lock,
the lock is not unlocked.
When rw_unlock unlocks the lock,
the first waiter (reader or writer) is activated.
If the thread activated is a reader,
all subsequent readers are activated
(up to the next writer or end of queue)
and the count of readers holding the lock is changed to reflect this.
If the thread activated is a writer,
no other threads are activated
and the lock is marked as being held by a writer.
lock must previously have been initialized
pointer to the lock to be released
rw_unlock returns zero for success
and an error number for failure.
If any the following conditions is detected,
rw_unlock fails and returns the corresponding value:
invalid argument specified
lock not locked
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004