{
assert(sp->obj == NULL);
+ assert(sp->vbc == NULL);
if (sp->fd >= 0 && sp->doclose != NULL)
vca_close_session(sp, sp->doclose);
VCL_Rel(sp->vcl);
cnt_fetch(struct sess *sp)
{
+ assert(sp->vbc != NULL);
RFC2616_cache_policy(sp, sp->vbc->http);
VCL_fetch_method(sp);
}
if (sp->handling == VCL_RET_INSERT) {
sp->obj->cacheable = 1;
+ assert(sp->vbc != NULL);
FetchBody(sp);
+ assert(sp->vbc == NULL);
HSH_Ref(sp->obj); /* get another, STP_DELIVER will deref */
HSH_Unbusy(sp->obj);
sp->wrk->acct.fetch++;
if (sp->handling == VCL_RET_LOOKUP)
INCOMPL();
if (sp->handling == VCL_RET_FETCH) {
+ assert(sp->vbc == NULL);
FetchHeaders(sp);
sp->step = STP_FETCH;
+ assert(sp->vbc != NULL);
return (0);
}
INCOMPL();
cnt_pass(struct sess *sp)
{
+ assert(sp->vbc == NULL);
PassSession(sp);
+ assert(sp->vbc != NULL);
sp->step = STP_PASSBODY;
return (0);
}
{
sp->wrk->acct.pass++;
+ assert(sp->vbc != NULL);
PassBody(sp);
+ assert(sp->vbc == NULL);
sp->step = STP_DONE;
return (0);
}
sp->vcl = VCL_Get();
assert(sp->obj == NULL);
+ assert(sp->vbc == NULL);
sp->wrk->acct.req++;
done = http_DissectRequest(sp->http, sp->fd);