--------------------- PatchSet 5347 Date: 2002/10/12 04:44:55 Author: adri Branch: commloops Tag: (none) Log: Eep. When a persistent client connection has finished and a new request is scheduled, we attempted to schedule a read when one already exists for the client side. So, I've put in an assert() to _enforce_ that a read is queued on that fd - and now I'm actually not scheduling another read on this basis. Now, this may not be the point later on (we may not always keep a scheduled read from a client) _BUT_ the assert() will then be caught and we'll be forced to revisit the issue. Members: src/client_side.c:1.52.4.16->1.52.4.17 Index: squid/src/client_side.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/client_side.c,v retrieving revision 1.52.4.16 retrieving revision 1.52.4.17 diff -u -r1.52.4.16 -r1.52.4.17 --- squid/src/client_side.c 9 Oct 2002 13:46:23 -0000 1.52.4.16 +++ squid/src/client_side.c 12 Oct 2002 04:44:55 -0000 1.52.4.17 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.52.4.16 2002/10/09 13:46:23 adri Exp $ + * $Id: client_side.c,v 1.52.4.17 2002/10/12 04:44:55 adri Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -57,6 +57,8 @@ #include "squid.h" #include "clientStream.h" +#include "StoreIOBuffer.h" +#include "comm.h" #include "IPInterception.h" #if LINGERING_CLOSE @@ -722,7 +724,10 @@ commSetTimeout(conn->fd, Config.Timeout.persistent_request, requestTimeout, conn); conn->defer.until = 0; /* Kick it to read a new request */ - clientReadSomeData(conn); + /* Make sure we're still reading from the client side! */ + /* XXX this could take a bit of CPU time! aiee! -- adrian */ + assert(comm_has_pending_read(conn->fd)); + /* clientReadSomeData(conn); */ /* Please don't do anything with the FD past here! */ }