Functions | |
| static void | os_fire_signal (uint32_t signal_mask, void *sighandler(void)) |
| Perform signal delivery in thread's userspace. | |
| void | os_deliver_signal (struct OS_thread_t *thread, uint32_t signals) |
| Internal implementation of signal delivery into thread context. | |
| void os_deliver_signal | ( | struct OS_thread_t * | thread, |
| uint32_t | signals | ||
| ) |
Internal implementation of signal delivery into thread context.
As this routine is only designed to be called from pend_sv handler, it has strict requirements on state of thread. It must be in state just before being resumed.
| thread | thread which gets signal handler injected |
| signals | mask of signals being delivered |
|
static |
Perform signal delivery in thread's userspace.
This "function" is ever only called from os_deliver_signal(). It stores original values of LR and R0 - R3 registers and PC onto stack.
| sighandler | address of signal handler function. Guarranteed to be non-NULL. Yet not to be valid. |
| signal_mask | Bitmask of activated (pending) signals, which are catchable by the application. |