Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured)

This commit is contained in:
Jerome Loyet 2012-05-26 18:48:40 +02:00
parent decc394a20
commit e052da3a6b
4 changed files with 5 additions and 2 deletions

View File

@ -39,6 +39,7 @@ struct fpm_globals_s fpm_globals = {
.test_successful = 0,
.heartbeat = 0,
.run_as_root = 0,
.send_config_signal = 0,
};
int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root) /* {{{ */

View File

@ -55,6 +55,7 @@ struct fpm_globals_s {
int test_successful;
int heartbeat;
int run_as_root;
int send_config_signal;
};
extern struct fpm_globals_s fpm_globals;

View File

@ -1799,14 +1799,14 @@ consult the installation file that came with this distribution, or visit \n\
if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid, test_conf, php_allow_to_run_as_root)) {
if (fpm_global_config.daemonize) {
if (fpm_globals.send_config_signal) {
zlog(ZLOG_DEBUG, "Sending SIGUSR2 (error) to parent %d", getppid());
kill(getppid(), SIGUSR2);
}
return FPM_EXIT_CONFIG;
}
if (fpm_global_config.daemonize) {
if (fpm_globals.send_config_signal) {
zlog(ZLOG_DEBUG, "Sending SIGUSR1 (OK) to parent %d", getppid());
kill(getppid(), SIGUSR1);
}

View File

@ -305,6 +305,7 @@ int fpm_unix_init_main() /* {{{ */
/* restore USR1 and USR2 sigaction */
sigaction(SIGUSR1, &oldact_usr1, NULL);
sigaction(SIGUSR2, &oldact_usr2, NULL);
fpm_globals.send_config_signal = 1;
break;
default : /* parent */