Commit d98c4217 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

We always want to go through vcl_fetch(), even on error 503


git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2070 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 62f4b0cd
......@@ -304,39 +304,35 @@ cnt_fetch(struct sess *sp)
VBE_free_bereq(sp->bereq);
sp->bereq = NULL;
if (0 && i) {
SYN_ErrorPage(sp, 503, "Error talking to backend", 30);
} else {
if (!i)
RFC2616_cache_policy(sp, &sp->obj->http); /* XXX -> VCL */
else
sp->obj->http.status = 503;
VCL_fetch_method(sp);
switch (sp->handling) {
case VCL_RET_ERROR:
case VCL_RET_RESTART:
sp->obj->ttl = 0;
sp->obj->cacheable = 0;
HSH_Unbusy(sp->obj);
HSH_Deref(sp->obj);
sp->obj = NULL;
if (sp->handling == VCL_RET_ERROR)
sp->step = STP_ERROR;
else {
sp->restarts++;
sp->step = STP_RECV;
}
return (0);
case VCL_RET_PASS:
sp->obj->pass = 1;
break;
case VCL_RET_INSERT:
break;
default:
INCOMPL();
if (!i)
RFC2616_cache_policy(sp, &sp->obj->http); /* XXX -> VCL */
else
http_PutStatus(sp->wrk, sp->fd, &sp->obj->http, 503);
VCL_fetch_method(sp);
switch (sp->handling) {
case VCL_RET_ERROR:
case VCL_RET_RESTART:
sp->obj->ttl = 0;
sp->obj->cacheable = 0;
HSH_Unbusy(sp->obj);
HSH_Deref(sp->obj);
sp->obj = NULL;
if (sp->handling == VCL_RET_ERROR)
sp->step = STP_ERROR;
else {
sp->restarts++;
sp->step = STP_RECV;
}
return (0);
case VCL_RET_PASS:
sp->obj->pass = 1;
break;
case VCL_RET_INSERT:
break;
default:
INCOMPL();
}
sp->obj->cacheable = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment