diff options
Diffstat (limited to 'libltrace.c')
-rw-r--r-- | libltrace.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libltrace.c b/libltrace.c index 19bfafd..777ad1b 100644 --- a/libltrace.c +++ b/libltrace.c @@ -48,9 +48,14 @@ signal_alarm(int sig) { } static void -signal_exit(int sig) { - exiting = 1; +signal_exit(int sig) +{ debug(1, "Received interrupt signal; exiting..."); + if (exiting != 0) + return; + + exiting = 1 + !!os_ltrace_exiting_sighandler(); + signal(SIGINT, SIG_IGN); signal(SIGTERM, SIG_IGN); signal(SIGALRM, signal_alarm); |