_sleepon_destroy()

Destroy a sleepon

Synopsis:

#include <pthread.h>

int _sleepon_destroy( 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_destroy() function destroys a sleepon_t structure, l, that has been previously initialized by _sleepon_init().

If l hasn't been locked by _sleepon_lock(), _sleepon_destroy() locks it before destroying it.

The sleepon structure is reference-counted such that, if other threads are blocked waiting for a condition, they're be signaled to wake up, and the last one to wake up frees the memory allocated to the sleepon.

Returns:

0
Success.
≠0
Failure

Classification:

QNX Neutrino

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

See also:

_sleepon_broadcast(), _sleepon_init(), _sleepon_lock(), _sleepon_signal(), _sleepon_unlock()