ado_rwlock_init()

Initialize a read-write lock

Synopsis:

#include <audio_driver.h>

int ado_rwlock_init( pthread_rwlock_t *rwl);

Arguments:

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

Description:

This macro initializes the given read-write lock.

The ado_rwlock_init() macro is defined as pthread_rwlock_init(), or ado_rwlock_init_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_init():

EOK
Success.
EAGAIN
Insufficient system resources to initialize the read-write lock.
EBUSY
The read-write lock rwl has been initialized or unsuccessfully destroyed.
EFAULT
A fault occurred when the kernel tried to access rwl or attr.
EINVAL
Invalid read-write lock attribute object attr.

Classification:

QNX Neutrino

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

See also:

ado_rwlock_destroy(), ado_rwlock_rdlock(), ado_rwlock_unlock(), ado_rwlock_wrlock()

pthread_rwlock_init() in the QNX Library Reference