_sleepon_broadcast()

Wake up multiple threads

Synopsis:

#include <pthread.h>

int _sleepon_broadcast( sleepon_t * l,
                        const volatile void * addr );

Arguments:

l
A pointer to a sleepon_t that you created by calling _sleepon_init().
addr
The handle that the threads are waiting on. The value of addr is typically a data structure that controls a resource.

Library:

libc

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

Description:

The _sleepon_signal() and _sleepon_broadcast() functions are very similar:

The waiting threads must have used the same sleepon, l and key, addr, in order to be woken up.

To be woken up, the calling threads must have been locked by _sleepon_lock().

Returns:

0
Success.
≠0
Failure.

Classification:

QNX Neutrino

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

See also:

pthread_sleepon_broadcast(), pthread_sleepon_signal(), _sleepon_destroy(), _sleepon_init(), _sleepon_lock(), _sleepon_signal(), _sleepon_unlock()