Not intended for new applications.This mechanism is deprecated for delivery of user-generated custom signals. As signal delivery is possible inside RPC call, doing so breaches client-server separation. Users needing synchronization mechanism should migrate to notify_objectwait_for_object
catchable - kernel supports sending of 32 distinct catchable signals. Kernel doesn’t interpret any of them in any way. If such signal is sent to the thread then thread is simply notified of its arrival.
non-catchable - these signals are mostly system-defined and thread is not able to catch nor react to them. These include stopping and resuming thread, killing it and signalling memory protection violation error.
catchable - kernel supports sending of 32 distinct catchable signals. Kernel doesn’t interpret any of them in any way. If such signal is sent to the thread then thread is simply notified of its arrival.non-catchable - these signals are mostly system-defined and thread is not able to catch nor react to them. These include stopping and resuming thread, killing it and signalling memory protection violation error.
If thread doesn’t register any signal handler, then signal arrival is effectively a no-op for given thread. In any case, arrival of signal will wake thread up, if it is stopped.
Function-like Macros
SIGALRM
SIGKILL
SIGSTOP
SIGCONT
SIGSEGV
int CMRX_API signal_handler(int signo, void(*sighandler)(uint32_t))
signo number of signal
sighandler address of function which handles the signal
Returns 0. Mostly.
int CMRX_API signal(int signo, void(*sighandler)(uint32_t))
Alias for
int CMRX_API send_signal(int thread, uint32_t signal)