From: Dmitry Stogov Date: Mon, 21 May 2007 09:08:13 +0000 (+0000) Subject: Fixed crash on "php -b 1234 -unknown-option" X-Git-Tag: php-5.2.3RC1~35 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23409a4bbfe61c36f799968866c6d35fc1fd216a;p=php Fixed crash on "php -b 1234 -unknown-option" --- diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 4f28378e6a..fc21964482 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -1429,6 +1429,9 @@ consult the installation file that came with this distribution, or visit \n\ switch (c) { case 'h': case '?': +#if PHP_FASTCGI + fcgi_shutdown(); +#endif no_headers = 1; php_output_startup(); php_output_activate(TSRMLS_C); @@ -1823,6 +1826,7 @@ fastcgi_request_done: } /* end of fastcgi loop */ } + fcgi_shutdown(); #endif if (cgi_sapi_module.php_ini_path_override) { diff --git a/sapi/cgi/fastcgi.c b/sapi/cgi/fastcgi.c index 950b226790..5d2cdbc7d3 100644 --- a/sapi/cgi/fastcgi.c +++ b/sapi/cgi/fastcgi.c @@ -255,6 +255,11 @@ int fcgi_is_fastcgi(void) } } +void fcgi_shutdown(void) +{ + is_fastcgi = 0; +} + #ifdef _WIN32 /* Do some black magic with the NT security API. * We prepare a DACL (Discretionary Access Control List) so that diff --git a/sapi/cgi/fastcgi.h b/sapi/cgi/fastcgi.h index a2fede78c2..1da8b05953 100644 --- a/sapi/cgi/fastcgi.h +++ b/sapi/cgi/fastcgi.h @@ -112,6 +112,7 @@ typedef struct _fcgi_request { } fcgi_request; int fcgi_init(void); +void fcgi_shutdown(void); int fcgi_is_fastcgi(void); int fcgi_in_shutdown(void); int fcgi_listen(const char *path, int backlog);