X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Funix%2Fmain.c;h=7f1a8f35126dabfeb0e6a681b286ea75d09a76c3;hb=10a8bda37eed33ada1e7c6ece7bda1fe066ba541;hp=42c3064bc325245f88d5ad027ab241c73f271d32;hpb=d991a798ff5eb6d151b6641e61fefc6315bab0ac;p=vpp.git diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c index 42c3064bc32..7f1a8f35126 100755 --- a/src/vlib/unix/main.c +++ b/src/vlib/unix/main.c @@ -91,7 +91,7 @@ unsetup_signal_handlers (int sig) /* allocate this buffer from mheap when setting up the signal handler. dangerous to vec_resize it when crashing, mheap itself might have been - corruptted already */ + corrupted already */ static u8 *syslog_msg = 0; static int last_signum = 0; static uword last_faulting_address = 0; @@ -177,10 +177,14 @@ unix_signal_handler (int signum, siginfo_t * si, ucontext_t * uc) syslog (LOG_ERR | LOG_DAEMON, "%s", syslog_msg); } - /* have to remove SIGABRT to avoid recusive - os_exit calling abort() */ + /* 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); @@ -372,6 +376,7 @@ VLIB_REGISTER_NODE (startup_config_node,static) = { .function = startup_config_process, .type = VLIB_NODE_TYPE_PROCESS, .name = "startup-config-process", + .process_log2_n_stack_bytes = 18, }; /* *INDENT-ON* */