/*
- * $Id: forward.cc,v 1.48 1999/01/19 05:24:48 wessels Exp $
+ * $Id: forward.cc,v 1.49 1999/01/19 06:31:42 wessels Exp $
*
* DEBUG: section 17 Request Forwarding
* AUTHOR: Duane Wessels
{
StoreEntry *e = fwdState->entry;
int sfd;
- static int loop_detect = 0;
debug(17, 3) ("fwdStateFree: %p\n", fwdState);
- assert(loop_detect++ == 0);
assert(e->mem_obj);
if (e->store_status == STORE_PENDING) {
if (e->mem_obj->inmem_hi == 0) {
assert(fwdState->err);
errorAppendEntry(e, fwdState->err);
+ } else {
+ storeComplete(e);
+ storeReleaseRequest(e);
}
}
assert(!EBIT_TEST(e->flags, ENTRY_FWD_HDR_WAIT));
comm_close(sfd);
}
cbdataFree(fwdState);
- loop_detect--;
}
static int
peerCheckConnectStart(fs->peer);
comm_close(server_fd);
} else {
+ debug(17, 3) ("fwdConnectDone: FD %d: '%s'\n", server_fd, storeUrl(fwdState->entry));
fd_note(server_fd, storeUrl(fwdState->entry));
fd_table[server_fd].uses++;
fwdDispatch(fwdState);
fwdStartComplete(FwdServer * servers, void *data)
{
FwdState *fwdState = data;
+ debug(17,3)("fwdStartComplete: %s\n", storeUrl(fwdState->entry));
if (servers != NULL) {
fwdState->servers = servers;
fwdConnectStart(fwdState);
fwdStartFail(FwdState * fwdState)
{
ErrorState *err;
+ debug(17,3)("fwdStartFail: %s\n", storeUrl(fwdState->entry));
err = errorCon(ERR_CANNOT_FORWARD, HTTP_SERVICE_UNAVAILABLE);
err->request = requestLink(fwdState->request);
err->xerrno = errno;
peer *p;
request_t *request = fwdState->request;
StoreEntry *entry = fwdState->entry;
- debug(17, 5) ("fwdDispatch: FD %d: Fetching '%s %s'\n",
+ debug(17, 3) ("fwdDispatch: FD %d: Fetching '%s %s'\n",
fwdState->client_fd,
RequestMethodStr[request->method],
storeUrl(entry));
http_status s;
assert(e->store_status == STORE_PENDING);
assert(e->mem_obj);
+ debug(17, 3) ("fwdReforward: %s?\n", storeUrl(e));
if (!EBIT_TEST(e->flags, ENTRY_FWD_HDR_WAIT)) {
debug(17, 3) ("fwdReforward: No, ENTRY_FWD_HDR_WAIT isn't set\n");
return 0;