[master] dbba743 Simplify even more.
Poul-Henning Kamp
phk at FreeBSD.org
Mon Oct 6 10:42:20 CEST 2014
commit dbba7430b83ff28cae025bc7f6e04bc9c54709c3
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon Oct 6 08:42:05 2014 +0000
Simplify even more.
diff --git a/bin/varnishd/cache/cache_backend.c b/bin/varnishd/cache/cache_backend.c
index b6d75a7..0f141e2 100644
--- a/bin/varnishd/cache/cache_backend.c
+++ b/bin/varnishd/cache/cache_backend.c
@@ -339,53 +339,6 @@ VBE_DiscardHealth(const struct director *vdi)
VBP_Remove(vs->backend, vs->vrt->probe);
}
-/* Close a connection ------------------------------------------------*/
-
-static void
-vbe_CloseFd(struct vbc **vbp, const struct acct_bereq *acct_bereq)
-{
- struct backend *bp;
- struct vbc *vc;
-
- AN(vbp);
- vc = *vbp;
- *vbp = NULL;
- CHECK_OBJ_NOTNULL(vc, VBC_MAGIC);
- CHECK_OBJ_NOTNULL(vc->backend, BACKEND_MAGIC);
- assert(vc->fd >= 0);
-
- bp = vc->backend;
-
- VTCP_close(&vc->fd);
- VBE_DropRefConn(bp, acct_bereq);
- vc->backend = NULL;
- VBE_ReleaseConn(vc);
-}
-
-/* Recycle a connection ----------------------------------------------*/
-
-static void
-vbe_RecycleFd(struct vbc **vbp, const struct acct_bereq *acct_bereq)
-{
- struct backend *bp;
- struct vbc *vc;
-
- AN(vbp);
- vc = *vbp;
- *vbp = NULL;
- CHECK_OBJ_NOTNULL(vc, VBC_MAGIC);
- CHECK_OBJ_NOTNULL(vc->backend, BACKEND_MAGIC);
- assert(vc->fd >= 0);
-
- bp = vc->backend;
-
- Lck_Lock(&bp->mtx);
- VSC_C_main->backend_recycle++;
- VTAILQ_INSERT_HEAD(&bp->connlist, vc, list);
- VBE_DropRefLocked(bp, acct_bereq);
-}
-
-
/*--------------------------------------------------------------------
*
*/
@@ -483,25 +436,31 @@ static void __match_proto__(vdi_finish_f)
vbe_dir_finish(const struct director *d, struct worker *wrk,
struct busyobj *bo)
{
+ struct backend *bp;
+
CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC);
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
- if (bo->vbc != NULL) {
- if (bo->doclose != SC_NULL) {
- VSLb(bo->vsl, SLT_BackendClose,
- "%d %s", bo->vbc->fd,
- bo->vbc->backend->display_name);
- vbe_CloseFd(&bo->vbc, &bo->acct);
- } else {
- VSLb(bo->vsl, SLT_BackendReuse,
- "%d %s", bo->vbc->fd,
- bo->vbc->backend->display_name);
- vbe_RecycleFd(&bo->vbc, &bo->acct);
- }
-
+ if (bo->vbc == NULL)
+ return;
+ bp = bo->vbc->backend;
+ if (bo->doclose != SC_NULL) {
+ VSLb(bo->vsl, SLT_BackendClose, "%d %s", bo->vbc->fd,
+ bp->display_name);
+ VTCP_close(&bo->vbc->fd);
+ VBE_DropRefConn(bp, &bo->acct);
+ bo->vbc->backend = NULL;
+ VBE_ReleaseConn(bo->vbc);
+ } else {
+ VSLb(bo->vsl, SLT_BackendReuse, "%d %s", bo->vbc->fd,
+ bp->display_name);
+ Lck_Lock(&bp->mtx);
+ VSC_C_main->backend_recycle++;
+ VTAILQ_INSERT_HEAD(&bp->connlist, bo->vbc, list);
+ VBE_DropRefLocked(bp, &bo->acct);
}
- AZ(bo->vbc);
+ bo->vbc = NULL;
}
static struct suckaddr * __match_proto__(vdi_suckaddr_f)
More information about the varnish-commit
mailing list