summaryrefslogtreecommitdiff
path: root/sapi
diff options
context:
space:
mode:
authorJerome Loyet <fat@php.net>2012-05-26 18:48:56 +0200
committerJerome Loyet <fat@php.net>2012-05-26 18:48:56 +0200
commit0225300b7067f4396e2bce57d549b8da9126c33e (patch)
treeb84a348b4239238073c8c15e50bc14c2d9c72c0a /sapi
parent7127135c8705d947a01ee637444c1db2adf37b1d (diff)
downloadphp-git-0225300b7067f4396e2bce57d549b8da9126c33e.tar.gz
Fixed bug #62033 (USR2 signal was sent even if not catch when daemonize and an error occured)
Diffstat (limited to 'sapi')
-rw-r--r--sapi/fpm/fpm/fpm.c1
-rw-r--r--sapi/fpm/fpm/fpm.h1
-rw-r--r--sapi/fpm/fpm/fpm_main.c4
-rw-r--r--sapi/fpm/fpm/fpm_unix.c1
4 files changed, 5 insertions, 2 deletions
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 */