ado_rwlock_rdlock()

Acquire a shared read lock on a read-write lock

Synopsis:

#include <audio_driver.h>

ado_rwlock_rdlock( pthread_rwlock_t *rwl);

Arguments:

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

Description:

This macro acquires a shared read lock on the given read-write lock.

The ado_rwlock_rdlock macro() is defined as pthread_rwlock_rdlock(), or ado_rwlock_rdlock_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_rdlock():

EOK
Success.
EAGAIN
On the first use of statically initialized read-write lock, insufficient system resources existed to initialize the read-write lock.
EDEADLK
The calling thread already has an exclusive lock for rwl.
EFAULT
A fault occurred when the kernel tried to access rwl.
EINVAL
The read-write lock rwl is invalid.

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_unlock(), ado_rwlock_wrlock()

pthread_rwlock_rdlock() in the QNX Library Reference