aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian E. Hopps <chopps@chopps.org>2019-09-27 13:52:50 -0400
committerDamjan Marion <dmarion@me.com>2019-12-17 18:41:21 +0000
commit10a8bda37eed33ada1e7c6ece7bda1fe066ba541 (patch)
tree556e01140d5736391cfd45b2351bff7e9b16b3e3
parent19871f25394fa9a4bfb55006092cbcc28b446c04 (diff)
misc: don't os_exit(1) causing core on SIGINT
It's not typical for a program to core when it receives a SIGINT, so keep this from happening. Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I2c15985a57e6ea898ff05c4001e4b30b41154eba
-rwxr-xr-xsrc/vlib/unix/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c
index 08e593747e0..7f1a8f35126 100755
--- a/src/vlib/unix/main.c
+++ b/src/vlib/unix/main.c
@@ -180,7 +180,11 @@ unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc)
/* have to remove SIGABRT to avoid recursive - os_exit calling abort() */
unsetup_signal_handlers (SIGABRT);
- os_exit (1);
+ /* os_exit(1) causes core generation, do not do this for SIGINT */
+ if (signum == SIGINT)
+ os_exit (0);
+ else
+ os_exit (1);
}
else
clib_warning ("%s", syslog_msg);