X-Git-Url: https://git.tld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=php-fcgi-graceful.patch;h=96c6496e02ae6176c527dd54a8bc72baa72de66a;hp=505462fa8eefb3452220554a982339631a0a1fff;hb=954ecf20c48c9867c06e3142115d609ad4c9e81c;hpb=dccfdb642699a3ed67e7237de27992afdee1f86d diff --git a/php-fcgi-graceful.patch b/php-fcgi-graceful.patch index 505462f..96c6496 100644 --- a/php-fcgi-graceful.patch +++ b/php-fcgi-graceful.patch @@ -18,8 +18,8 @@ while ($i < 35) { echo "end!
\n"; ?> ---- php-7.0.0beta1/sapi/cgi/cgi_main.c~ 2015-07-13 16:14:53.000000000 +0300 -+++ php-7.0.0beta1/sapi/cgi/cgi_main.c 2015-07-15 13:51:32.072326529 +0300 +--- php-7.1.0alpha2/sapi/cgi/cgi_main.c~ 2016-07-04 14:56:49.000000000 +0300 ++++ php-7.1.0alpha2/sapi/cgi/cgi_main.c 2016-07-04 14:58:17.522958766 +0300 @@ -101,6 +101,9 @@ */ static int parent = 1; @@ -27,12 +27,12 @@ echo "end!
\n"; +/* Socket we are listening on incoming connections */ +static int fcgi_fd = 0; + - /** - * Process group - */ + #ifndef PHP_WIN32 + /* Did parent received exit signals SIG_TERM/SIG_INT/SIG_QUIT */ + static int exit_signal = 0; @@ -1221,6 +1224,21 @@ - exit(0); } + #endif +/** + * Graceful shutdown. Close listening sockets. @@ -50,21 +50,20 @@ echo "end!
\n"; + + PHP_INI_BEGIN() - STD_PHP_INI_ENTRY("cgi.rfc2616_headers", "0", PHP_INI_ALL, OnUpdateBool, rfc2616_headers, php_cgi_globals_struct, php_cgi_globals) - STD_PHP_INI_ENTRY("cgi.nph", "0", PHP_INI_ALL, OnUpdateBool, nph, php_cgi_globals_struct, php_cgi_globals) + STD_PHP_INI_BOOLEAN("cgi.rfc2616_headers", "0", PHP_INI_ALL, OnUpdateBool, rfc2616_headers, php_cgi_globals_struct, php_cgi_globals) + STD_PHP_INI_BOOLEAN("cgi.nph", "0", PHP_INI_ALL, OnUpdateBool, nph, php_cgi_globals_struct, php_cgi_globals) @@ -1764,7 +1764,6 @@ int requests = 0; int fastcgi; char *bindpath = NULL; - int fcgi_fd = 0; fcgi_request *request = NULL; + int warmup_repeats = 0; int repeats = 1; - int benchmark = 0; -@@ -2050,10 +2050,13 @@ - */ +@@ -2080,9 +2080,14 @@ parent = 0; -- /* don't catch our signals */ + /* don't catch our signals */ - sigaction(SIGTERM, &old_term, 0); sigaction(SIGQUIT, &old_quit, 0); sigaction(SIGINT, &old_int, 0); @@ -73,6 +72,7 @@ echo "end!
\n"; + act.sa_flags = 0; + act.sa_handler = fastcgi_graceful_shutdown; + sigaction(SIGTERM, &act, &old_term); ++ + zend_signal_init(); break; case -1: - perror("php (pre-forking)");