summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/signal/signal.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/signal/signal.c b/src/signal/signal.c
index 85a82172..442ad4e1 100644
--- a/src/signal/signal.c
+++ b/src/signal/signal.c
@@ -34,7 +34,11 @@ void (*signal(int sig, void (*func)(int)))(int)
return SIG_ERR;
}
- if ((__memperm(func) & PROT_EXEC) != PROT_EXEC) {
+ if (func == SIG_DFL) {
+ /* TODO */
+ } else if (func == SIG_IGN) {
+ /* TODO */
+ } else if ((__memperm(func) & PROT_EXEC) != PROT_EXEC) {
UNDEFINED("signal handler is not executable");
}