Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

ado_mutex_init()

Initialize a mutex

Synopsis:

#include <audio_driver.h>

#define ado_mutex_init( mutex )

Arguments:

mutex
The mutex to initialize. The mutex is of type pthread_mutex_t *.

Description:

The ado_mutex_init() macro initializes the given mutex.

This macro is defined as pthread_mutex_init() (passing NULL for the attr argument), or ado_mutex_init_debug() if ADO_MUTEX_DEBUG and ADO_DEBUG are defined. The debug version uses ado_debug() to display a message to help you locate a mutex problem in the driver.

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

Returns:

Same as pthread_mutex_init():

EOK
Success.
EAGAIN
All kernel synchronization objects are in use.
EBUSY
Previously initialized but undestroyed mutex mutex.
EFAULT
A fault occurred when the kernel tried to access mutex or attr.
EINVAL
The value specified by attr is invalid.

Classification:

QNX Neutrino

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

See also:

ado_mutex_destroy(), ado_mutex_lock(), ado_mutex_unlock()

pthread_mutex_init() in the QNX Library Reference