Re: Updated: pipelined/halfclosed connections

From: Adrian Chadd <adrian@dont-contact.us>
Date: Wed, 25 Feb 2004 23:48:33 -0700

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

Received on Wed Feb 25 2004 - 23:48:35 MST

This archive was generated by hypermail pre-2.1.9 : Mon Mar 01 2004 - 12:00:04 MST