From 0225300b7067f4396e2bce57d549b8da9126c33e Mon Sep 17 00:00:00 2001 From: Jerome Loyet <fat@php.net> Date: Sat, 26 May 2012 18:48:56 +0200 Subject: Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured) --- sapi/fpm/fpm/fpm.c | 1 + sapi/fpm/fpm/fpm.h | 1 + sapi/fpm/fpm/fpm_main.c | 4 ++-- sapi/fpm/fpm/fpm_unix.c | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) (limited to 'sapi') diff --git a/sapi/fpm/fpm/fpm.c b/sapi/fpm/fpm/fpm.c index 176dbaf32e..dab415d123 100644 --- a/sapi/fpm/fpm/fpm.c +++ b/sapi/fpm/fpm/fpm.c @@ -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) /* {{{ */ diff --git a/sapi/fpm/fpm/fpm.h b/sapi/fpm/fpm/fpm.h index b0bed0a074..7a2903d07d 100644 --- a/sapi/fpm/fpm/fpm.h +++ b/sapi/fpm/fpm/fpm.h @@ -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; diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index c3fd2bca74..83b461b793 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -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); } diff --git a/sapi/fpm/fpm/fpm_unix.c b/sapi/fpm/fpm/fpm_unix.c index 0f4d383c24..5c5e37c3a4 100644 --- a/sapi/fpm/fpm/fpm_unix.c +++ b/sapi/fpm/fpm/fpm_unix.c @@ -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 */ -- cgit v1.2.1