void _logeater_handle_signal_if_needed(void) { int signo; if ( ! got_signal ) return; signo = got_signal; got_signal = 0; #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) if ( signo == SIGQUIT || signo == SIGUSR1 ) { handle_sigquit(); return; } #endif server_close(); if ( config.logeater_client ) requiem_client_destroy(config.logeater_client, REQUIEM_CLIENT_EXIT_STATUS_FAILURE); requiem_deinit(); #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) if ( signo == SIGHUP ) { requiem_log(REQUIEM_LOG_WARN, "signal %d received, restarting (%s).\n", signo, get_restart_string()); handle_sighup(); } #endif requiem_log(REQUIEM_LOG_WARN, "signal %d received, terminating requiem-logeater.\n", signo); exit(2); }
void _lml_handle_signal_if_needed(void) { int signo; if ( ! got_signal ) return; signo = got_signal; got_signal = 0; #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) if ( signo == SIGQUIT || signo == SIGUSR1 ) { handle_sigquit(); return; } #endif server_close(); if ( config.lml_client ) prelude_client_destroy(config.lml_client, PRELUDE_CLIENT_EXIT_STATUS_FAILURE); prelude_deinit(); #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) if ( signo == SIGHUP ) { prelude_log(PRELUDE_LOG_WARN, "signal %d received, restarting (%s).\n", signo, get_restart_string()); handle_sighup(); } #endif prelude_log(PRELUDE_LOG_WARN, "signal %d received, terminating prelude-lml.\n", signo); exit(2); }
void check_signals(void) { if (mf_sigchld) handle_sigchld(); if (mf_sigalrm) handle_sigalrm(); if (mf_sigint) handle_sigint(); if (mf_sigquit) handle_sigquit(); if (mf_sigterm) handle_sigterm(); if (mf_sigpipe) handle_sigpipe(); if (mf_sigusr1) handle_sigusr1(); if (mf_sigusr2) handle_sigusr2(); if (mf_sighup) handle_sighup(); if (mf_stupid) { syslog(LOG_ERR,"set a signal handler,but forgot to write code to handle it"); mf_stupid = 0; } }