summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2019-05-11 20:10:13 +0100
committerJakub Zelenka <bukka@php.net>2019-05-11 20:10:13 +0100
commit4bf37e467b3db8f704f7a77cad72ddb8d0f6a912 (patch)
tree85d1bc1c4ee78d59f2b12959fe0789ed4baca5aa
parentd0ac3a6a86ed6ef989303047117f00f470c593c6 (diff)
parent0cad701374b51cf6a79436c2da76dc1bc3d62300 (diff)
downloadphp-git-4bf37e467b3db8f704f7a77cad72ddb8d0f6a912.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
-rw-r--r--sapi/fpm/fpm/fpm_signals.c2
-rw-r--r--sapi/fpm/tests/bug77934-reload-process-control.phpt44
2 files changed, 45 insertions, 1 deletions
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();
+?>