_sleepon_lock()

Lock a sleepon

Synopsis:

#include <pthread.h>

int _sleepon_lock( sleepon_t * l );

Arguments:

l
A pointer to a sleepon_t that you created by calling _sleepon_init().

Library:

libc

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

Description:

The _sleepon_lock() function locks the mutex associated with the sleepon structure, l.

You must call this function before calling _sleepon_wait(), _sleepon_signal(), or _sleepon_broadcast().

Returns:

EOK
Success.
EAGAIN
Insufficient system resources were available to lock the mutex.
EDEADLK
The calling thread already owns mutex, and the mutex doesn't allow recursive behavior.
EINVAL
Invalid mutex.

The _sleepon_lock() function returns the same values as pthread_mutex_lock().

Classification:

QNX Neutrino

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

See also:

pthread_mutex_lock(), _sleepon_broadcast(), _sleepon_destroy(), _sleepon_init(), _sleepon_signal(), _sleepon_unlock(), _sleepon_wait()