Re: IdleConnList problems

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Fri, 08 Jul 2011 20:01:35 +0200

fre 2011-07-08 klockan 17:30 +0300 skrev Tsantilas Christos:

> I think the fd_table[].halfClosedReader is used to check for half closed
> connections, does not mean that the connections is half closed (But I
> did not check it...)

A connection can not be idle if it's half-closed, and a idle connection
can not be half-closed. If the remote closes an idle connection then
it's terminated and need to be fully closed, never half-closed.

The only half-closed connections we have is when the client cloes it's
transmit channel while we are transmitting the response. There we need
some careful checking to allow the response to be sent while checking
for transmission errors. Once the pending responses have been sent the
connection MUST be closed.

On Squid<->Server connections (or ICAP) there is no half-closed
connections. The half-closed condition can only occur in connections to
clients.

There is no special handling for detecting a half-closed connection.
It's just a plain len=0 (EOF) while trying to read the response. All the
sepcial dealing takes place after that.

Regards
Henrik
Received on Fri Jul 08 2011 - 18:01:39 MDT

This archive was generated by hypermail 2.2.0 : Sat Jul 09 2011 - 12:00:02 MDT