summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2019-05-11 20:08:57 +0100
committerJakub Zelenka <bukka@php.net>2019-05-11 20:08:57 +0100
commit0cad701374b51cf6a79436c2da76dc1bc3d62300 (patch)
tree75c3b0ea302d58da28b9721119cf3b91ff699461
parentbec22af8d7d0173023abb3605d247b67c5f15d42 (diff)
parentcc5c51e7f0732067f105d13c6d355fcab5965c2f (diff)
downloadphp-git-0cad701374b51cf6a79436c2da76dc1bc3d62300.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
-rw-r--r--NEWS1
-rw-r--r--sapi/fpm/fpm/fpm_signals.c2
-rw-r--r--sapi/fpm/tests/bug77934-reload-process-control.phpt44
3 files changed, 46 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e3283b640c..56b423a5f3 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ PHP NEWS
Spagnoletti)
- FPM:
+ . Fixed bug #77934 (php-fpm kill -USR2 not working). (Jakub Zelenka)
. Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot)
- GD:
diff --git a/sapi/fpm/fpm/fpm_signals.c b/sapi/fpm/fpm/fpm_signals.c
index 1b97025ea7..caf41e8a3f 100644
--- a/sapi/fpm/fpm/fpm_signals.c
+++ b/sapi/fpm/fpm/fpm_signals.c
@@ -142,7 +142,7 @@ static void sig_soft_quit(int signo) /* {{{ */
int saved_errno = errno;
/* closing fastcgi listening socket will force fcgi_accept() exit immediately */
- close(0);
+ close(fpm_globals.listening_socket);
if (0 > socket(AF_UNIX, SOCK_STREAM, 0)) {
zlog(ZLOG_WARNING, "failed to create a new socket");
}
diff --git a/sapi/fpm/tests/bug77934-reload-process-control.phpt b/sapi/fpm/tests/bug77934-reload-process-control.phpt
new file mode 100644
index 0000000000..d223403f99
--- /dev/null
+++ b/sapi/fpm/tests/bug77934-reload-process-control.phpt
@@ -0,0 +1,44 @@
+--TEST--
+FPM: bug77934 - php-fpm kill -USR2 not working
+--SKIPIF--
+<?php include "skipif.inc"; ?>
+--FILE--
+<?php
+
+require_once "tester.inc";
+
+$cfg = <<<EOT
+[global]
+error_log = {{FILE:LOG}}
+pid = {{FILE:PID}}
+process_control_timeout=20
+[unconfined]
+listen = {{ADDR}}
+pm = dynamic
+pm.max_children = 5
+pm.start_servers = 1
+pm.min_spare_servers = 1
+pm.max_spare_servers = 1
+EOT;
+
+$tester = new FPM\Tester($cfg);
+$tester->start();
+$tester->expectLogStartNotices();
+$tester->signal('USR2');
+$tester->expectLogNotice('Reloading in progress ...');
+$tester->expectLogNotice('reloading: .*');
+$tester->expectLogNotice('using inherited socket fd=\d+, "127.0.0.1:\d+"');
+$tester->expectLogStartNotices();
+$tester->terminate();
+$tester->expectLogTerminatingNotices();
+$tester->close();
+
+?>
+Done
+--EXPECT--
+Done
+--CLEAN--
+<?php
+require_once "tester.inc";
+FPM\Tester::clean();
+?>