Return-Path: Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 22051 invoked by uid 500); 7 Aug 2003 11:42:54 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 22027 invoked from network); 7 Aug 2003 11:42:53 -0000 Subject: File buckets v. core_output_filter From: Bojan Smojver To: Apache Dev List Content-Type: text/plain Organization: Rexursive Message-Id: <1060256982.1293.28.camel@beast.rexursive.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.4 Date: Thu, 07 Aug 2003 21:49:42 +1000 Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Greetings everyone, it has been a while since I posted my ramblings about mod_logio... Anyway, it's that time of the year again :-) I'm working on a new module and I have hit a strange problem in relation to core_output_filter, which is as far as I can see affecting my output. Let's say I have a file that contains 300 bytes of something I'm interested in, then 10 bytes of rubbish, then 300 bytes of good stuff again and so on. The reason I'm picking 300 bytes here is because this number is greater than AP_MIN_SENDFILE_BYTES, which is 256. So, I build up a brigade that looks like this: FILE - POOL - FILE - POOL - FILE - EOS The POOL buckets contains something useful instead of 10 bytes of rubbish that I would normally find in the file. The file buckets are chunks of the same file that I'm interested in. When I pass this to output filters in my handler with ap_pass_brigade(r->output_filters,bb), I'm getting completely random output from. In other words, offsets of FILE buckets are completely screwed or buckets down show up at all. If I, however, build a brigade like this: FILE - FLUSH - POOL - FILE - FLUSH - POOL - FILE - FLUSH - EOS then it all works fine. Also, if the good parts of my file are below 256 bytes (or if I increase AP_MIN_SENDFILE_BYTES above the threshold), there are no problems at all. I was testing this all this on 2.0.46, Red Hat Linux 9. Has anyone else observed anything like that? Has anything like that been fixed lately? Or am I simply doing something really stupid... -- Bojan