summaryrefslogtreecommitdiff
path: root/sapi/cgi/cgi_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/cgi/cgi_main.c')
-rw-r--r--sapi/cgi/cgi_main.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 4277ed05cc..257e6fcbb4 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -756,7 +756,17 @@ static int sapi_cgi_deactivate(TSRMLS_D)
2. When the first call occurs and the request is not set up, flush fails on FastCGI.
*/
if (SG(sapi_started)) {
- sapi_cgibin_flush(SG(server_context));
+ if (fcgi_is_fastcgi()) {
+ if (
+#ifndef PHP_WIN32
+ !parent &&
+#endif
+ !fcgi_finish_request((fcgi_request*)SG(server_context))) {
+ php_handle_aborted_connection();
+ }
+ } else {
+ sapi_cgibin_flush(SG(server_context));
+ }
}
return SUCCESS;
}