Mailing List Archive

[master] 20aee1b7d Partly revert "Close VDPs for error conditions in cnt_transmit()"
commit 20aee1b7d0f58c3669f763518264e686f5b39c7b
Author: Nils Goroll <nils.goroll@uplex.de>
Date: Wed Feb 28 13:49:52 2024 +0100

Partly revert "Close VDPs for error conditions in cnt_transmit()"

This reverts the code change from commit 6d423aa5c60940ebde76c91f0a482767346df405,
keeps the test case and adds a VDP_Close() for the case that the
transport deliver function is not called.

Part 2 of the fix for #4067

Conflicts:
bin/varnishd/cache/cache_req_fsm.c

diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index e84407647..ed97a0110 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -467,6 +467,8 @@ cnt_transmit(struct worker *wrk, struct req *req)
VCL_StackVDP(req, req->vcl, req->vdp_filter_list)) {
VSLb(req->vsl, SLT_Error, "Failure to push processors");
req->doclose = SC_OVERLOAD;
+ req->acct.resp_bodybytes +=
+ VDP_Close(req->vdc, req->objcore, boc);
} else {
if (status < 200 || status == 204) {
// rfc7230,l,1691,1695
@@ -504,9 +506,6 @@ cnt_transmit(struct worker *wrk, struct req *req)
req->doclose = SC_TX_ERROR;
}

- if (req->doclose != SC_NULL)
- req->acct.resp_bodybytes += VDP_Close(req->vdc, req->objcore, boc);
-
if (boc != NULL)
HSH_DerefBoc(wrk, req->objcore);

_______________________________________________
varnish-commit mailing list
varnish-commit@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit