From e77d3268d72a0d7ab9ff1ab56435d93bdefbf1f3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Loyet?= Date: Sat, 18 Dec 2010 11:22:11 +0000 Subject: [PATCH] - Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). --- NEWS | 3 +++ sapi/fpm/fpm/fpm.c | 22 ++++++++++++++++++++-- sapi/fpm/fpm/fpm.h | 1 + sapi/fpm/fpm/fpm_conf.c | 1 + 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index b51bc350b5..1bafc30453 100644 --- a/NEWS +++ b/NEWS @@ -56,6 +56,9 @@ - Phar Extension: . Fixed bug #53541 (format string bug in ext/phar). (crrodriguez at opensuse dot org, Ilia) + +- PHP-FPM SAPI: + . Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). (fat) - SPL extension: . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 diff --git a/sapi/fpm/fpm/fpm.c b/sapi/fpm/fpm/fpm.c index 17a215c888..f9d2a75b6d 100644 --- a/sapi/fpm/fpm/fpm.c +++ b/sapi/fpm/fpm/fpm.c @@ -21,7 +21,20 @@ #include "fpm_stdio.h" #include "zlog.h" -struct fpm_globals_s fpm_globals; +struct fpm_globals_s fpm_globals = { + .parent_pid = 0, + .argc = NULL, + .argv = NULL, + .config = NULL, + .prefix = NULL, + .running_children = 0, + .error_log_fd = 0, + .log_level = 0, + .listening_socket = 0, + .max_requests = 0, + .is_child = 0, + .test_successful = 0 + }; int fpm_init(int argc, char **argv, char *config, char *prefix, int test_conf) /* {{{ */ { @@ -43,7 +56,12 @@ int fpm_init(int argc, char **argv, char *config, char *prefix, int test_conf) / 0 > fpm_sockets_init_main() || 0 > fpm_worker_pool_init_main() || 0 > fpm_event_init_main()) { - return -1; + + if (fpm_globals.test_successful) { + exit(0); + } else { + return -1; + } } if (0 > fpm_conf_write_pid()) { diff --git a/sapi/fpm/fpm/fpm.h b/sapi/fpm/fpm/fpm.h index 63e3bacca4..f06d9ed6a9 100644 --- a/sapi/fpm/fpm/fpm.h +++ b/sapi/fpm/fpm/fpm.h @@ -22,6 +22,7 @@ struct fpm_globals_s { int listening_socket; /* for this child */ int max_requests; /* for this child */ int is_child; + int test_successful; }; extern struct fpm_globals_s fpm_globals; diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index f38227c2f2..5d6fe770cd 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1218,6 +1218,7 @@ int fpm_conf_init_main(int test_conf) /* {{{ */ fpm_conf_dump(); } zlog(ZLOG_NOTICE, "configuration file %s test is successful\n", fpm_globals.config); + fpm_globals.test_successful = 1; return -1; } -- 2.40.0