[master] 1172fc9 Various minor cleanups for code clarity.
Poul-Henning Kamp
phk at varnish-cache.org
Thu Jul 19 10:30:12 CEST 2012
commit 1172fc93e4d5d3827fcc2dc9abceaef96b1f5cb1
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Thu Jul 19 08:29:54 2012 +0000
Various minor cleanups for code clarity.
diff --git a/bin/varnishd/cache/cache_center.c b/bin/varnishd/cache/cache_center.c
index 1fcaff4..c200bd3 100644
--- a/bin/varnishd/cache/cache_center.c
+++ b/bin/varnishd/cache/cache_center.c
@@ -175,8 +175,8 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req)
}
}
}
- AZ(req->vcl);
SES_ReleaseReq(req);
+ assert(why != SC_NULL);
SES_Delete(sp, why, now);
return (1);
}
@@ -254,14 +254,8 @@ cnt_sess_done(struct sess *sp, struct worker *wrk, struct req *req)
req->hash_always_miss = 0;
req->hash_ignore_busy = 0;
- if (sp->fd >= 0 && req->doclose != SC_NULL) {
- /*
- * This is an orderly close of the connection; ditch nolinger
- * before we close, to get queued data transmitted.
- */
- // XXX: not yet (void)VTCP_linger(sp->fd, 0);
+ if (sp->fd >= 0 && req->doclose != SC_NULL)
SES_Close(sp, req->doclose);
- }
if (sp->fd < 0) {
wrk->stats.sess_closed++;
diff --git a/bin/varnishd/cache/cache_session.c b/bin/varnishd/cache/cache_session.c
index 5e994f7..6478a00 100644
--- a/bin/varnishd/cache/cache_session.c
+++ b/bin/varnishd/cache/cache_session.c
@@ -133,12 +133,9 @@ static void
ses_req_pool_task(struct worker *wrk, void *arg)
{
struct req *req;
- struct sess *sp;
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CAST_OBJ_NOTNULL(req, arg, REQ_MAGIC);
- sp = req->sp;
- CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
THR_SetRequest(req);
AZ(wrk->aws->r);
@@ -180,6 +177,9 @@ ses_sess_pool_task(struct worker *wrk, void *arg)
*
* We use VSL() to get the sessions vxid and to make sure tha this
* VSL comes before anything else for this session.
+ *
+ * This is a separate procedure only to isolate the two stack buffers.
+ *
*/
static void
@@ -317,12 +317,7 @@ SES_Close(struct sess *sp, enum sess_close reason)
}
/*--------------------------------------------------------------------
- * (Close &) Free or Recycle a session.
- *
- * If the workspace has changed, deleted it, otherwise wash it, and put
- * it up for adoption.
- *
- * XXX: We should also check nhttp
+ * Report and dismantle a session.
*/
void
@@ -338,27 +333,18 @@ SES_Delete(struct sess *sp, enum sess_close reason, double now)
if (reason != SC_NULL)
SES_Close(sp, reason);
+ assert(sp->fd < 0);
+
if (isnan(now))
now = VTIM_real();
assert(!isnan(sp->t_open));
- assert(sp->fd < 0);
-
- if (*sp->addr == '\0')
- strcpy(sp->addr, "-");
- if (*sp->port == '\0')
- strcpy(sp->addr, "-");
b = &sp->acct_ses;
-
- VSL(SLT_SessClose, sp->vxid,
- "%s %.3f %ju %ju %ju %ju %ju %ju",
- sess_close_str(sp->reason, 0),
- now - sp->t_open,
- b->req, b->pipe, b->pass,
- b->fetch, b->hdrbytes, b->bodybytes);
+ VSL(SLT_SessClose, sp->vxid, "%s %.3f %ju %ju %ju %ju %ju %ju",
+ sess_close_str(sp->reason, 0), now - sp->t_open, b->req,
+ b->pipe, b->pass, b->fetch, b->hdrbytes, b->bodybytes);
MPL_Free(pp->mpl_sess, sp);
-
}
/*--------------------------------------------------------------------
More information about the varnish-commit
mailing list