double dt;
struct timespec t_resp;
+ CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
clock_gettime(CLOCK_REALTIME, &t_resp);
dt = (t_resp.tv_sec - sp->t_req.tv_sec);
dt += (t_resp.tv_nsec - sp->t_req.tv_nsec) * 1e-9;
http_SetHeader(sp->fd, sp->http, "Connection: close");
WRK_Reset(sp->wrk, &sp->fd);
sp->wrk->acct.hdrbytes += http_Write(sp->wrk, sp->http, 1);
+ CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
/* XXX: conditional request handling */
if (sp->wantbody) {
TAILQ_FOREACH(st, &sp->obj->store, list) {
+ CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
assert(st->stevedore != NULL);
u += st->len;
sp->wrk->acct.bodybytes += st->len;
WRK_Write(sp->wrk, st->ptr, st->len);
} else {
st->stevedore->send(st, sp);
+ CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
sp->wrk->niov = 0;
sp->wrk->liov = 0;
}