[master] 920e1d3 Don't call any VFP->fini until we call all VFP->fini, and always call it, no matter what.
Poul-Henning Kamp
phk at FreeBSD.org
Wed Jul 9 17:57:28 CEST 2014
commit 920e1d3626884509fd7d0b5744328e5a7f696444
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Jul 9 15:56:39 2014 +0000
Don't call any VFP->fini until we call all VFP->fini, and always call
it, no matter what.
diff --git a/bin/varnishd/cache/cache_fetch_proc.c b/bin/varnishd/cache/cache_fetch_proc.c
index a60269a..35d4bc2 100644
--- a/bin/varnishd/cache/cache_fetch_proc.c
+++ b/bin/varnishd/cache/cache_fetch_proc.c
@@ -114,7 +114,7 @@ vfp_suck_fini(struct busyobj *bo)
struct vfp_entry *vfe;
VTAILQ_FOREACH(vfe, &bo->vfp, list)
- if(vfe->closed == VFP_OK && vfe->vfp->fini != NULL)
+ if(vfe->vfp->fini != NULL)
vfe->vfp->fini(bo, vfe);
}
@@ -162,8 +162,6 @@ VFP_Suck(struct busyobj *bo, void *p, ssize_t *lp)
} else if (vfe->closed == VFP_OK) {
vp = vfe->vfp->pull(bo, vfe, p, lp);
if (vp == VFP_END || vp == VFP_ERROR) {
- if (vfe->vfp->fini != NULL)
- vfe->vfp->fini(bo, vfe);
vfe->closed = vp;
} else if (vp != VFP_OK)
(void)VFP_Error(bo, "Fetch filter %s returned %d",
More information about the varnish-commit
mailing list