[master] e553ea3c7 cache_deliver_proc: Polish VDP_Close()

Nils Goroll nils.goroll at uplex.de
Mon Mar 3 08:47:06 UTC 2025


commit e553ea3c71bcd32f6e8fd279b16fc2e1d49dcc8d
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Mon Mar 3 09:19:19 2025 +0100

    cache_deliver_proc: Polish VDP_Close()
    
    someone(tm) added some unmotivated logic way back in
    1e82f502a027b89caa94be88496b20aaf3970c8d:
    
    As long as the VDP list is not empty, there is a first VDP on the list, so why
    would we have statements like AN(vdpe) or check if (vdpe != NULL) ?
    
    Diff best viewed ignoring whitespace (git log -pb)

diff --git a/bin/varnishd/cache/cache_deliver_proc.c b/bin/varnishd/cache/cache_deliver_proc.c
index d9c20603a..83ee48e61 100644
--- a/bin/varnishd/cache/cache_deliver_proc.c
+++ b/bin/varnishd/cache/cache_deliver_proc.c
@@ -221,20 +221,15 @@ VDP_Close(struct vdp_ctx *vdc, struct objcore *oc, struct boc *boc)
 	CHECK_OBJ_ORNULL(oc, OBJCORE_MAGIC);
 	CHECK_OBJ_ORNULL(boc, BOC_MAGIC);
 
-	while (!VTAILQ_EMPTY(&vdc->vdp)) {
-		vdpe = VTAILQ_FIRST(&vdc->vdp);
+	while ((vdpe = VTAILQ_FIRST(&vdc->vdp)) != NULL) {
+		CHECK_OBJ(vdpe, VDP_ENTRY_MAGIC);
 		rv = vdpe->bytes_in;
 		VSLb(vdc->vsl, SLT_VdpAcct, "%s %ju %ju", vdpe->vdp->name,
 		    (uintmax_t)vdpe->calls, (uintmax_t)rv);
-		if (vdc->retval >= 0)
-			AN(vdpe);
-		if (vdpe != NULL) {
-			CHECK_OBJ(vdpe, VDP_ENTRY_MAGIC);
-			if (vdpe->vdp->fini != NULL)
-				AZ(vdpe->vdp->fini(vdc, &vdpe->priv));
-			AZ(vdpe->priv);
-			VTAILQ_REMOVE(&vdc->vdp, vdpe, list);
-		}
+		if (vdpe->vdp->fini != NULL)
+			AZ(vdpe->vdp->fini(vdc, &vdpe->priv));
+		AZ(vdpe->priv);
+		VTAILQ_REMOVE(&vdc->vdp, vdpe, list);
 		vdc->nxt = VTAILQ_FIRST(&vdc->vdp);
 #ifdef VDP_PEDANTIC_ARMED
 		// enable when we are confident to get VDP_END right


More information about the varnish-commit mailing list