pthread_rwlock_unlock()

Unlock a read-write lock

Synopsis:

#include <pthread.h>

int pthread_rwlock_unlock( pthread_rwlock_t* rwl );

Arguments:

rwl
A pointer to a pthread_rwlock_t object that you want to unlock.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_rwlock_unlock() function unlocks a read-write lock referenced by rwl. The read-write lock may become available for any threads that were blocked on the read-write lock, depending on whether the read-write lock had been locked in exclusive or shared mode.

Note: The read-write lock should be owned by the calling thread. If the calling thread doesn't hold the lock, no error status is returned, and the behavior of this read-write lock is now undefined.

Returns:

EOK
Success.
EAGAIN
On the first use of a statically initialized read-write lock, insufficient system resources existed to initialize the read-write lock.
EFAULT
A fault occurred when the kernel tried to access rwl.
EINVAL
The read-write lock rwl is invalid.
EPERM
No thread has a read or write lock on rwl, or the calling thread doesn't have a write lock on rwl.

Examples:

See "An example of synchronization" in the "Processes and Threads" chapter of Getting Started with QNX Neutrino.

Classification:

POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes