On Sun, 4 Mar 2001 20:30:56 -0500 (EST), Cliff Woolley wrote:
>On Mon, 5 Mar 2001, Brian Havard wrote:
>
>> I thought so too but no, it's still there. However I just noticed that it
>> works ok if the request is for HTTP/1.0. It only breaks on HTTP/1.1 so I'm
>> thinking perhaps the chunk filter or something it uses (like
>> apr_brigade_split) is broken. I'll try to find some time to step through
>> the code & figure it out.
>
>apr_brigade_split() is pretty simple... but I wouldn't be surprised if the
>chunk filter has an issue hiding somewhere.
>
>I worked a week or so ago on cleaning up the logic in the chunk filter so
>that I could understand it myself (and to get rid of some unnecessary
>layers of logic), but I didn't get a chance to finish and check it in
>before other things got in the way. I'll go fish around and try to find
>that copy of my tree and get back to it. =-)
>
>Anyway, at least we now have something to go on... the case where it fails
>is non-MMAP systems on HTTP/1.1. The key part of the non-MMAP case is
>that file_read() ends up reading in the file into many 8KB heap buckets.
>If the thing fails on files >64KB, that's >8 calls to file_read(),
>obviously.
>
>We're getting close, I can smell it. ;-]
You may be on the wrong track, it dies when the total output exceeds 64k,
header+body, not when the requested file exceeds 64k. Subtle difference but
may point to a completely different cause.
--
______________________________________________________________________________
| Brian Havard | "He is not the messiah! |
| [EMAIL PROTECTED] | He's a very naughty boy!" - Life of Brian |
------------------------------------------------------------------------------