summaryrefslogtreecommitdiff
path: root/src/signal/__signal_handler.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-31 16:16:49 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-31 16:16:49 -0500
commit1a22e9f3c62fb248725874b64b8953392c004bca (patch)
tree032a7355a4cfa035e846065ee805ea03add3cfa1 /src/signal/__signal_handler.c
parente700c9df7679b7a4e5da0e8886ff22a4177f4bca (diff)
catch signals raised during quick_exit()
Diffstat (limited to 'src/signal/__signal_handler.c')
-rw-r--r--src/signal/__signal_handler.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/signal/__signal_handler.c b/src/signal/__signal_handler.c
index 9cd9eda7..0c0fd719 100644
--- a/src/signal/__signal_handler.c
+++ b/src/signal/__signal_handler.c
@@ -1,9 +1,14 @@
#include <stddef.h>
#include "_signal.h"
+#include "stdlib/_stdlib.h"
#include "_safety.h"
void __signal_handler(int sig)
{
+ if (__stdlib.exit_called == QUICK) {
+ __undefined("signal %d occured during quick_exit", sig);
+ }
+
___signal.current = sig;
if (___signal.handlers[sig] != NULL) {
___signal.handlers[sig](sig);