@@@Wake up a single thread
#include <@@@unistd.h>
int _sleepong_signal( sleepon_t * l,
const volatile void * addr );
libc
The _sleepon_signal() and _sleepon_broadcast() are very similar: The functions wake up a single thread (_sleepon_signal()) or all threads (_sleepon_broadcast()) that are waiting on the key, addr.
the waiting threads must have used the same sleepon, l and key value (@@huh?) in order to be woken up.
(@@@can _sleepon_broadcast only wake up _some_ of the threads on error?@@@)
The calling threads must have been locked by _sleepon_lock().
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | No |