_sleepon_signal()

Updated: April 19, 2023

Wake up a single thread

Synopsis:

#include <pthread.h>

int _sleepon_signal( 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 thread is 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