diff options
Diffstat (limited to '')
| -rw-r--r-- | libtest/libtest_stack_on_signal.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libtest/libtest_stack_on_signal.c b/libtest/libtest_stack_on_signal.c index 0f92972..f10155a 100644 --- a/libtest/libtest_stack_on_signal.c +++ b/libtest/libtest_stack_on_signal.c @@ -62,6 +62,14 @@ libtest_stack_on_signal(int signo, struct sigaction *old_out) void libtest_stop_stack_on_signal(int signo, const struct sigaction *old) { + struct sigaction sa; + + if (!old) { + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_DFL; + old = &sa; + } + assert(!sigaction(signo, old, NULL)); destroy_altstack(); } |
