Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
_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:
- _sleepon_signal() wakes up a single thread that's waiting on the key, addr.
- _sleepon_broadcast() wakes up all threads that are waiting on the key, addr.
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:
| 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()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)