Re: pipeline replies ..

From: Adrian Chadd <adrian@dont-contact.us>
Date: Fri, 9 Aug 2002 02:22:19 -0600

On Fri, Aug 09, 2002, Adrian Chadd wrote:
>
> .. here's the patch, along with some extra crap. I'll trim the extra
> crap out before committing. What do people think?

patch ..

Index: client_side.c
===================================================================
RCS file: /server/cvs-server/squid/squid/src/client_side.c,v
retrieving revision 1.583
diff -u -r1.583 client_side.c
--- client_side.c 20 Jul 2002 23:23:17 -0000 1.583
+++ client_side.c 9 Aug 2002 08:19:53 -0000
@@ -1697,6 +1697,8 @@
 {
     ConnStateData *conn = http->conn;
     StoreEntry *entry;
+ store_client *tsc = http->sc;
+
     debug(33, 3) ("clientKeepaliveNextRequest: FD %d\n", conn->fd);
     conn->defer.until = 0; /* Kick it to read a new request */
     httpRequestFree(http);
@@ -1734,13 +1736,24 @@
        if (0 == storeClientCopyPending(http->sc, entry, http)) {
            if (EBIT_TEST(entry->flags, ENTRY_ABORTED))
                debug(33, 0) ("clientKeepaliveNextRequest: ENTRY_ABORTED\n");
- http->reqofs = 0;
- storeClientCopy(http->sc, entry,
- http->out.offset,
- HTTP_REQBUF_SZ,
- http->reqbuf,
- clientSendMoreData,
- http);
+ /* If we have any data in our reqbuf, use it */
+ if (http->reqsize > 0) {
+ /* XXX is this even valid? passing reqbuf in for itself..? (adrian) */
+ clientSendMoreData(http, http->reqbuf, http->reqsize);
+ } else {
+ assert(http->out.offset == 0);
+ /*
+ * here - have no data (don't ever think we get here..)
+ * so lets start copying..
+ * -- adrian
+ */
+ storeClientCopy(http->sc, entry,
+ http->out.offset,
+ HTTP_REQBUF_SZ,
+ http->reqbuf,
+ clientSendMoreData,
+ http);
+ }
        }
     }
 }

.. which makes sense to me.

adrian
Received on Fri Aug 09 2002 - 02:22:20 MDT

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