[4.1] c36ed16 Drop VBT_Wait call in vbe_dir_finish

Dag Haavi Finstad daghf at varnish-software.com
Mon Nov 27 16:36:10 UTC 2017


commit c36ed165b5c96da72af34373eb9f56c550f08d96
Author: Dag Haavi Finstad <daghf at varnish-software.com>
Date:   Fri Nov 24 16:13:08 2017 +0100

    Drop VBT_Wait call in vbe_dir_finish
    
    With VBT_Close now being capable of dealing with STOLEN connections, we
    no longer need to VBT_Wait for them prior to close.

diff --git a/bin/varnishd/cache/cache_backend.c b/bin/varnishd/cache/cache_backend.c
index bc5a244..491259c 100644
--- a/bin/varnishd/cache/cache_backend.c
+++ b/bin/varnishd/cache/cache_backend.c
@@ -152,13 +152,15 @@ vbe_dir_finish(const struct director *d, struct worker *wrk,
 	CAST_OBJ_NOTNULL(vbc, bo->htc->priv, VBC_MAGIC);
 	bo->htc->priv = NULL;
 	if (vbc->state != VBC_STATE_USED)
-		VBT_Wait(wrk, vbc);
+		assert(bo->htc->doclose == SC_TX_PIPE);
 	if (bo->htc->doclose != SC_NULL) {
 		VSLb(bo->vsl, SLT_BackendClose, "%d %s", vbc->fd,
 		    bp->display_name);
 		VBT_Close(bp->tcp_pool, &vbc);
+		AZ(vbc);
 		Lck_Lock(&bp->mtx);
 	} else {
+		assert (vbc->state == VBC_STATE_USED);
 		VSLb(bo->vsl, SLT_BackendReuse, "%d %s", vbc->fd,
 		    bp->display_name);
 		Lck_Lock(&bp->mtx);


More information about the varnish-commit mailing list