]> granicus.if.org Git - apache/commit
core: follow up to r1839997: recycle request filters to a delayed ring first.
authorYann Ylavic <ylavic@apache.org>
Tue, 4 Sep 2018 02:40:49 +0000 (02:40 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 4 Sep 2018 02:40:49 +0000 (02:40 +0000)
commit5262e7e73ade018f7849bed760d9fefac9fa9e5f
treef8889215d600d6e05d20ee44dd12c9b8567529fe
parentc4869735846a4c59ebc7d6695206ece2939742bc
core: follow up to r1839997: recycle request filters to a delayed ring first.

We want not only ap_filter_output_pending() to be able to access each pending
filter's *f after the EOR is destroyed, but also each request filter to do
the same until it returns.

So request filters are now always cleaned up into a dead_filters ring which is
merged into spare_filters only when ap_filter_recycle() is called explicitely,
that is in ap_process_request_after_handler() and ap_filter_output_pending().

The former takes care of recycling at the end of the request, with any MPM,
while the latter keeps recycling during MPM event's write completion.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840002 13f79535-47bb-0310-9956-ffa450edef68
include/ap_mmn.h
include/util_filter.h
modules/http/http_request.c
server/request.c
server/util_filter.c