ado_rwlock_unlock()

Unlock a read-write lock

Synopsis:

#include <audio_driver.h>

int ado_rwlock_unlock( pthread_rwlock_t *rwl );

Arguments:

rwl
A pointer to the pthread_rwlock_t structure for the read-write lock.

Description:

This macro unlocks the given read-write lock.

The ado_rwlock_unlock() macro is defined as pthread_rwlock_unlock(), or ado_rwlock_unlock_debug() if ADO_RWLOCK_DEBUG and ADO_DEBUG are defined. The debug version uses ado_debug() to display a message to help you locate a locking problem in the driver.

For more information, see Debugging an audio driver in the Organization of a Driver chapter.

Returns:

Same as pthread_rwlock_unlock():

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.

Classification:

QNX Neutrino

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

See also:

ado_rwlock_destroy(), ado_rwlock_init(), ado_rwlock_rdlock(), ado_rwlock_wrlock()

pthread_rwlock_unlock() in the QNX Library Reference