On Friday 09 August 2002 10.22, Adrian Chadd wrote:
> + store_client *tsc = http->sc;
> +
Not used in the code below...
> 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 {
Looks fine until we get around to fix buffer management proper. Why
didn't I think of this when looking at this the first time??? When
looking at this problem I thought there needed to be yet another
buffer..
Ah.. I was confused on the variable "http"... the buffer is belonging
to the request, not the client connection. Have been bitten by this
variable name several times always thinking it is a "http"
connection, not a individual request/response message..
Regards
Henrik
Received on Sat Aug 10 2002 - 20:50:31 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:16:03 MST