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