in modules/fcgid/fcgid_pm_unix.c [86:124]
static apr_status_t init_signal(server_rec * main_server)
{
struct sigaction sa;
/* Setup handlers */
sa.sa_handler = signal_handler;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
if (sigaction(SIGTERM, &sa, NULL) < 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
"mod_fcgid: Can't install SIGTERM handler");
return APR_EGENERAL;
}
/* Httpd restart */
if (sigaction(SIGHUP, &sa, NULL) < 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
"mod_fcgid: Can't install SIGHUP handler");
return APR_EGENERAL;
}
/* Httpd graceful restart */
if (sigaction(SIGUSR1, &sa, NULL) < 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
"mod_fcgid: Can't install SIGUSR1 handler");
return APR_EGENERAL;
}
/* Ignore SIGPIPE */
sa.sa_handler = SIG_IGN;
if (sigaction(SIGPIPE, &sa, NULL) < 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
"mod_fcgid: Can't install SIGPIPE handler");
return APR_EGENERAL;
}
return APR_SUCCESS;
}