RE: new patch & new ideas (squid+epoll)

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Wed, 12 Nov 2003 23:51:30 +0100 (CET)

On Wed, 12 Nov 2003, Gonzalo A. Arana wrote:

> 4) then, squid calls again commSetSelect(fd, COMM_SELECT_READ,
> read_handler, ...). This is because a new request may be received from
> client through same TCP connection

Yes. This is part of persistent connection management and also done as
part of polling if the client aborts the connection.

> This call may be issued before the request is completely sent to client
> (or even before reply started).

Indeed. There should nearly always be a COMM_SELECT_READ handler for
client connections. There is no need to go into the gory details on the
conditions when there is not as these is quite complex to describe.

> Of course, the bug appeared randomly, because it depends on delicate
> timings between commSetSelect calls and writes to client.

Indeed. The writes would most likely win over the reads. But in any case
the symptoms should have been quite evident if you try using persistent
connections, reusing the same client connection for multiple requests.

This was fixed in the patch which went into HEAD wasn't it?

Regards
Henrik
Received on Wed Nov 12 2003 - 15:51:38 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:47 MST