summaryrefslogtreecommitdiff
path: root/src/signal/__signal_handler.c
blob: ca529999dfc2f0a8c67cad14e40e3afd45d4d6e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stddef.h>
#include "_signal.h"
#include "_safety.h"

void __signal_handler(int sig)
{
	___signal.current = sig;
	if (___signal.handlers[sig] != NULL) {
		___signal.handlers[sig](sig);
	}
	/* TODO: if signal is fatal, trigger UB */
	___signal.current = 0;
}

/*
STDC(0)
SIGNAL_SAFE(0)
*/