[master] db2c2eb Move the pass-abandon up where it belongs.

Poul-Henning Kamp phk at FreeBSD.org
Thu Jan 28 12:49:19 CET 2016


commit db2c2ebb80568c42110bcb9a73fd7e5af1313e88
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Jan 19 11:52:11 2016 +0000

    Move the pass-abandon up where it belongs.

diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index 315b334..ccb76e4 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -209,6 +209,10 @@ cnt_deliver(struct worker *wrk, struct req *req)
 
 	cnt_vdp(req, bo == NULL ? NULL : bo->boc);
 
+	/* pass+streaming, abandon fetch in case delivery terminated early */
+	if (bo != NULL && req->objcore->flags & OC_F_PASS)
+		bo->abandon = 1;
+
 	VSLb_ts_req(req, "Resp", W_TIM_real(wrk));
 
 	if (http_HdrIs(req->resp, H_Connection, "close"))
diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index f071930..4b61aeb 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -307,8 +307,6 @@ sml_iterator(struct worker *wrk, struct objcore *oc,
 			break;
 		}
 	}
-	if (oc->flags & OC_F_PASS)
-		bo->abandon = 1;
 	VBO_DerefBusyObj(wrk, &bo);
 	return (ret);
 }



More information about the varnish-commit mailing list