C Microkernel Realtime eXecutive
Realtime Operating System for Cortex-M based microcontrollers
 
Loading...
Searching...
No Matches

Description

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.
 

Function Documentation

◆ os_deliver_signal()

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.

Parameters
threadthread which gets signal handler injected
signalsmask of signals being delivered

◆ os_fire_signal()

static void os_fire_signal ( uint32_t  signal_mask,
void *  sighandlervoid 
)
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.

Parameters
sighandleraddress of signal handler function. Guarranteed to be non-NULL. Yet not to be valid.
signal_maskBitmask of activated (pending) signals, which are catchable by the application.