summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-08-01 20:20:11 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-08-01 20:20:11 +0000
commit2b768e8bdc3bdc4036f440a98c0eca5b991d3e9d (patch)
treed2f4e66213f7645b9a9d13a9941a18837e2aebf0
parent5c4de2664c16da98ee0818e5cf2240f8e2aff787 (diff)
downloadphp-git-2b768e8bdc3bdc4036f440a98c0eca5b991d3e9d.tar.gz
Fixed bug #22072 (Apache2 sapis do not detect aborted connections).
-rw-r--r--sapi/apache2filter/sapi_apache2.c6
-rw-r--r--sapi/apache2handler/sapi_apache2.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c
index 176a0227f4..1295d1ceef 100644
--- a/sapi/apache2filter/sapi_apache2.c
+++ b/sapi/apache2filter/sapi_apache2.c
@@ -91,7 +91,7 @@ php_apache_sapi_ub_write(const char *str, uint str_length TSRMLS_DC)
APR_BRIGADE_INSERT_TAIL(bb, b);
#endif
- if (ap_pass_brigade(f->next, bb) != APR_SUCCESS) {
+ if (ap_pass_brigade(f->next, bb) != APR_SUCCESS || ctx->r->connection->aborted) {
php_handle_aborted_connection();
}
@@ -253,7 +253,7 @@ php_apache_sapi_flush(void *server_context)
bb = apr_brigade_create(ctx->r->pool, ba);
b = apr_bucket_flush_create(ba);
APR_BRIGADE_INSERT_TAIL(bb, b);
- if (ap_pass_brigade(f->next, bb) != APR_SUCCESS) {
+ if (ap_pass_brigade(f->next, bb) != APR_SUCCESS || ctx->r->connection->aborted) {
php_handle_aborted_connection();
}
}
@@ -477,7 +477,7 @@ static int php_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
rv = ap_pass_brigade(f->next, prebb);
/* XXX: destroy the prebb, since we know we're
* done with it? */
- if (rv != APR_SUCCESS) {
+ if (rv != APR_SUCCESS || ctx->r->connection->aborted) {
php_handle_aborted_connection();
}
}
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index d496eaa946..8021064990 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -88,7 +88,7 @@ php_apache_sapi_ub_write(const char *str, uint str_length TSRMLS_DC)
APR_BRIGADE_INSERT_TAIL(brigade, bucket);
- if (ap_pass_brigade(r->output_filters, brigade) != APR_SUCCESS) {
+ if (ap_pass_brigade(r->output_filters, brigade) != APR_SUCCESS || r->connection->aborted) {
php_handle_aborted_connection();
}
/* Ensure this brigade is empty for the next usage. */
@@ -258,7 +258,7 @@ php_apache_sapi_flush(void *server_context)
/* Send a flush bucket down the filter chain. */
bucket = apr_bucket_flush_create(r->connection->bucket_alloc);
APR_BRIGADE_INSERT_TAIL(brigade, bucket);
- if (ap_pass_brigade(r->output_filters, brigade) != APR_SUCCESS) {
+ if (ap_pass_brigade(r->output_filters, brigade) != APR_SUCCESS || r->connection->aborted) {
php_handle_aborted_connection();
}
apr_brigade_cleanup(brigade);
@@ -545,7 +545,7 @@ static int php_handler(request_rec *r)
APR_BRIGADE_INSERT_TAIL(brigade, bucket);
rv = ap_pass_brigade(r->output_filters, brigade);
- if (rv != APR_SUCCESS) {
+ if (rv != APR_SUCCESS || r->connection->aborted) {
php_handle_aborted_connection();
}
apr_brigade_cleanup(brigade);