static void sig_hup(int sig) { reload_after_sighup = 1; #ifndef _XBOX sys_select_signal(SIGHUP); #endif }
static void signal_handler(int sig, siginfo_t *info, void *unused) { if (signals_received < FD_PENDING_SIZE - 1) { fd_pending_array[signals_received] = (SIG_ATOMIC_T)info->si_fd; signals_received++; } /* Else signal is lost. */ sys_select_signal(); }
static void sigchld_handler(int signum) { pid_t pid; int status; while ((pid = wait(&status)) != -1 || errno == EINTR) { continue; /* Reap children */ } sys_select_signal(); }
static void smbw_sigaction_handler(int signum, siginfo_t *info, void *context) { /* Our entire purpose for trapping signals is to call this! */ sys_select_signal(); /* Call the user's handler */ if (user_action[signum].sa_handler != SIG_IGN && user_action[signum].sa_handler != SIG_DFL && user_action[signum].sa_handler != SIG_ERR) { (* user_action[signum].sa_sigaction)(signum, info, context); } }
static void sig_usr1(void) { received_signal = 1; sys_select_signal(); }
static void sig_term(int sig) { got_sig_term = 1; sys_select_signal(SIGTERM); }
static void sig_hup(int sig) { reload_after_sighup = 1; sys_select_signal(SIGHUP); }
/**************************************************************************** Catch a sigcld ****************************************************************************/ static void sig_cld(int sig) { got_sig_cld = 1; sys_select_signal(SIGCLD); }
static void sighup_handler(int signum) { do_sighup = True; sys_select_signal(); }
static void sigusr2_handler(int signum) { do_sigusr2 = True; sys_select_signal(); }
static void termination_handler(int signum) { do_sigterm = True; sys_select_signal(); }