On Fri, Apr 15, 2005 at 11:36:07AM -0500, Rici Lake wrote: > Are there browsers which send more than four extraneous CRLF's but > still support keepalive? > > If this code reads four CRLF's without finding any data, it will assume > that there is no immediate incoming request, and send a flush down the > filter chain. That does no harm aside from wasting some cycles; on the > assumption that the number of cycles wasted is not that enormous and > the number of browsers which exhibit that particular behaviour is not > huge, I'd say it's not really worth completely retrying the read.
True. > I believe that the current code may exhibit the opposite behaviour: it > can falsely report that data is present and thereby omit the flush with > the result that a response is not terminated until the following > request. If the connection is not being pipelined, the following > request is unlikely to show up until the response is terminated, so > that would lead to a request which stalls very near to the end. I > believe I may have actually seen this symptom in real life, now that I > think about it. > > >So, yes, I'd be fine with removing EATCRLF for 2.2 if you provide a > >tested > >patch. ;-) -- justin > > OK, I'll start by at least compiling and testing what I posted. Just remember that you might want to go straight to the connection filters and bypass all of the request and protocol filters. That would likely save a bunch of cycles. -- justin