Justin Erenkrantz wrote:
[..cut..]
>
> We really need a way to generically solve this problem to ensure that an
> EOS is always sent for every request when the request's filter chains
> are still active.
>
Sorry, if this is a stupid quickshot, but what about something like:
--- config.c.orig 2005-05-26 10:35:57.000000000 +0200
+++ config.c 2005-06-07 23:38:36.000000000 +0200
@@ -375,6 +375,17 @@ AP_CORE_DECLARE(int) ap_invoke_handler(r
"handler \"%s\" not found for: %s", r->handler, r->filename);
}
+ if (!r->eos_sent && (result != DECLINED)) {
+ apr_bucket_brigade *bb;
+ apr_bucket *e;
+
+ bb = apr_brigade_create(r->pool, r->connection->bucket_alloc);
+ e = apr_bucket_eos_create(r->connection->bucket_alloc);
+ APR_BRIGADE_INSERT_TAIL(bb, e);
+
+ return ap_pass_brigade(r->output_filters, bb);
+ }
+
return result == DECLINED ? HTTP_INTERNAL_SERVER_ERROR : result;
}
[..cut..]
Regards
Rüdiger