On Wed, Feb 25, 2004, Henrik Nordstrom wrote:
> On Tue, 24 Feb 2004, Adrian Chadd wrote:
>
> > It doesn't look like a "trivial" fix. Would you mind if I committed
> > the current work, sans re-working the do_next_read flag, so it gets
> > some testing? I'm trying to get squid-3 stable before I jump in
> > to try and improve someo f the code.
>
> Go ahead. The code is a lot better with your patch than before.
>
Heh. Its just about to become a whole heap sillier.
> But please verify that the keep-alives work in all cases. With the split
> logics this is not so simple to verify by inspecting the patch.
Ok. I've tested it and, thus far, I think I've got all the cases
right. I'm having trouble convincing nc to actaully _do_ half-closed
connections - instead, I have to ctrl-C it partway through a request.
It exposed two bugs:
* clientParseRequest(), my creation, was returning true even if a request
wasn't successfully parsed.
* A forced check, at the end of clientReadRequest(), to see whether
we should close the request. I don't think this kind of check
belongs in clientParseRequest(). Without it, a FD would spend 30
seconds being checked for half-closed even with no pending requests
or a full request in the buffer.
Here's the patch. I'd appreciate some external testing.
Adrian
This archive was generated by hypermail pre-2.1.9 : Mon Mar 01 2004 - 12:00:04 MST