stas 2003/11/06 03:44:07
Modified: src/modules/perl modperl_io_apache.c
Log:
will need to deal with situations when get_brigade fetches more data than asked for
Revision Changes Path
1.11 +10 -0 modperl-2.0/src/modules/perl/modperl_io_apache.c
Index: modperl_io_apache.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io_apache.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -u -r1.10 -r1.11
--- modperl_io_apache.c 6 Nov 2003 11:35:08 -0000 1.10
+++ modperl_io_apache.c 6 Nov 2003 11:44:07 -0000 1.11
@@ -314,6 +314,16 @@
tmp += read;
len -= read;
+ /* XXX: what happens if the downstream filter returns more
+ * data than the caller has asked for? We can't return more
+ * data that requested, so it needs to be stored somewhere and
+ * dealt with on the subsequent calls to this function. or may
+ * be we should just assert, blaming a bad filter. at the
+ * moment I couldn't find a spec telling whether it's wrong
+ * for the filter to return more data than it was asked for in
+ * the AP_MODE_READBYTES mode.
+ */
+
apr_brigade_cleanup(bb);
} while (len > 0 && !seen_eos);