diff options
Diffstat (limited to 'sapi/cgi/cgi_main.c')
| -rw-r--r-- | sapi/cgi/cgi_main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index d36a862663..b1a1df722f 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -87,10 +87,11 @@ extern int ap_php_optind; static int sapi_cgibin_ub_write(const char *str, uint str_length) { int ret; - PLS_FETCH(); ret = fwrite(str, 1, str_length, stdout); if (ret != str_length) { + PLS_FETCH(); + PG(connection_status) = PHP_CONNECTION_ABORTED; if (!PG(ignore_user_abort)) { zend_bailout(); @@ -103,9 +104,9 @@ static int sapi_cgibin_ub_write(const char *str, uint str_length) static void sapi_cgibin_flush(void *server_context) { - PLS_FETCH(); + if (fflush(stdout)==EOF) { + PLS_FETCH(); - if (fflush(stdout)) { PG(connection_status) = PHP_CONNECTION_ABORTED; if (!PG(ignore_user_abort)) { zend_bailout(); |
