diff options
-rw-r--r-- | src/signal/signal.c | 6 |
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"); } |