From 82d975d6710d29e9b16c1cc25f7058132dc4176e Mon Sep 17 00:00:00 2001 From: Rasmus Lerdorf Date: Sat, 4 Sep 1999 20:37:24 +0000 Subject: [PATCH] Might as well bail as soon as we know we should since this is now possible. We still need to set our connection status bit field so a shutdown function can figure out if a script was terminated due to an abort, timeout or finished normally. --- main/main.c | 6 +++--- mod_php4.c | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/main/main.c b/main/main.c index 5e53f5ffa1..ad812a039f 100644 --- a/main/main.c +++ b/main/main.c @@ -244,7 +244,7 @@ void php3_apache_puts(const char *s) if (SG(server_context)) { if(rputs(s, (request_rec *) SG(server_context))==-1) { - PG(connection_status) = PHP_CONNECTION_ABORTED; + PG(connection_status) |= PHP_CONNECTION_ABORTED; } } else { fputs(s, stdout); @@ -257,7 +257,7 @@ void php3_apache_putc(char c) if (SG(server_context)) { if(rputc(c, (request_rec *) SG(server_context))!=c) { - PG(connection_status) = PHP_CONNECTION_ABORTED; + PG(connection_status) |= PHP_CONNECTION_ABORTED; } } else { fputc(c, stdout); @@ -853,7 +853,7 @@ int php_module_startup(sapi_module_struct *sf) PG(header_is_being_sent) = 0; SG(request_info).headers_only = 0; - PG(connection_status) = PHP_CONNECTION_NORMAL; + PG(connection_status) |= PHP_CONNECTION_NORMAL; #if HAVE_SETLOCALE setlocale(LC_CTYPE, ""); diff --git a/mod_php4.c b/mod_php4.c index 65d52df220..e6c330e149 100644 --- a/mod_php4.c +++ b/mod_php4.c @@ -103,6 +103,7 @@ static int zend_apache_ub_write(const char *str, uint str_length) } if(ret != str_length) { PG(connection_status) = PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); } return ret; } -- 2.40.0