core_handler(int signo #ifdef SA_SIGINFO , siginfo_t *siginfo, void *context #endif ) { /* make sure we don't hang in here. default for SIGALRM is terminate. * - if we're in backtrace for more than a second, abort. */ struct sigaction sa_default = {.sa_handler = SIG_DFL}; sigaction(SIGALRM, &sa_default, NULL); sigset_t sigset; sigemptyset(&sigset); sigaddset(&sigset, SIGALRM); sigprocmask(SIG_UNBLOCK, &sigset, NULL); alarm(1); zlog_signal(signo, "aborting..." #ifdef SA_SIGINFO , siginfo, program_counter(context) #endif ); /* dump memory stats on core */ log_memstats(stderr, "core_handler"); abort(); }
core_handler(int signo #ifdef SA_SIGINFO , siginfo_t *siginfo, void *context #endif ) { zlog_signal(signo, "aborting..." #ifdef SA_SIGINFO , siginfo, program_counter(context) #endif ); abort(); }
exit_handler(int signo #ifdef SA_SIGINFO , siginfo_t *siginfo, void *context #endif ) { zlog_signal(signo, "exiting..." #ifdef SA_SIGINFO , siginfo, program_counter(context) #endif ); _exit(128+signo); }