joes 2004/06/20 10:08:13
Modified: env mod_apreq.c
Log:
To support 'AddInputFilter APREQ', apreq_filter_init needs to register the
filter if noone else has.
Revision Changes Path
1.50 +12 -5 httpd-apreq-2/env/mod_apreq.c
Index: mod_apreq.c
===================================================================
RCS file: /home/cvs/httpd-apreq-2/env/mod_apreq.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- mod_apreq.c 20 Jun 2004 16:57:10 -0000 1.49
+++ mod_apreq.c 20 Jun 2004 17:08:13 -0000 1.50
@@ -376,9 +376,12 @@
ap_filter_t *in;
if (f != r->proto_input_filters) {
- if (f == r->input_filters)
+ if (f == r->input_filters) {
+ cfg->f = f;
+ if (cfg->req == NULL)
+ apreq_request(r ,NULL);
return APR_SUCCESS;
-
+ }
for (in = r->input_filters; in != r->proto_input_filters;
in = in->next)
{
@@ -389,9 +392,13 @@
cfg->f = r->input_filters;
ap_remove_input_filter(f);
}
- else /* move to top */
+ else {
+ /* move to top and register it */
apreq_filter_relocate(f);
-
+ cfg->f = f;
+ if (cfg->req == NULL)
+ apreq_request(r ,NULL);
+ }
return APR_SUCCESS;
}
}
@@ -459,7 +466,7 @@
if (bb != NULL) {
if (!ctx->saw_eos) {
-
+
if (ctx->status == APR_INCOMPLETE) {
apr_off_t len;
rv = ap_get_brigade(f->next, bb, mode, block, readbytes);