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.c7
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();