summaryrefslogtreecommitdiff
path: root/src/signal/__signal_handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal/__signal_handler.c')
-rw-r--r--src/signal/__signal_handler.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/signal/__signal_handler.c b/src/signal/__signal_handler.c
index ca529999..9cd9eda7 100644
--- a/src/signal/__signal_handler.c
+++ b/src/signal/__signal_handler.c
@@ -8,7 +8,13 @@ void __signal_handler(int sig)
if (___signal.handlers[sig] != NULL) {
___signal.handlers[sig](sig);
}
- /* TODO: if signal is fatal, trigger UB */
+
+ /* TODO: signal number to name */
+ if (sig == SIGFPE || sig == SIGILL || sig == SIGSEGV) {
+ ___signal.current = 0;
+ __undefined("Signal handler for signal %d returned", sig);
+ }
+
___signal.current = 0;
}