CHECK_OBJ_NOTNULL(sp->obj, OBJECT_MAGIC);
CHECK_OBJ_NOTNULL(sp->vcl, VCL_CONF_MAGIC);
+ AZ(sp->bereq);
+
sp->t_resp = TIM_real();
if (sp->obj->objhead != NULL) {
sp->obj->last_use = sp->t_resp; /* XXX: locking ? */
char date[40];
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
+ AZ(sp->bereq);
/* We always close when we take this path */
sp->doclose = "error";
sp->step = STP_FETCH;
return (0);
case VCL_RET_RESTART:
+ VBE_free_bereq(&sp->bereq);
INCOMPL();
default:
WRONG("Illegal action in vcl_miss{}");
VCL_pass_method(sp);
if (sp->handling == VCL_RET_ERROR) {
+ VBE_free_bereq(&sp->bereq);
sp->step = STP_ERROR;
return (0);
}
assert(sp->handling == VCL_RET_PIPE);
PipeSession(sp);
+ AZ(sp->bereq);
AZ(sp->wrk->wfd);
sp->step = STP_DONE;
return (0);
sp->acct_req.bodybytes +=
WRW_Write(w, sp->htc->pipeline.b, Tlen(sp->htc->pipeline));
- if (WRW_FlushRelease(w)) {
+ i = WRW_FlushRelease(w);
+ VBE_free_bereq(&bereq);
+
+ if (i) {
vca_close_session(sp, "pipe");
VBE_ClosedFd(sp);
return;
}
- VBE_free_bereq(&bereq);
-
sp->t_resp = TIM_real();
memset(fds, 0, sizeof fds);