[master] 7665152c7 cache_http1_fetch: Further simplify V1F_SendReq() error handling
Dridi Boukelmoune
dridi at varni.sh
Thu Oct 31 10:09:50 UTC 2024
On Thu, Oct 31, 2024 at 8:51 AM Nils Goroll <nils.goroll at uplex.de> wrote:
>
>
> commit 7665152c705810e675530d1dd630b713c9e54d3b
> Author: Nils Goroll <nils.goroll at uplex.de>
> Date: Thu Oct 31 09:48:34 2024 +0100
>
> cache_http1_fetch: Further simplify V1F_SendReq() error handling
>
> diff --git a/bin/varnishd/http1/cache_http1_fetch.c b/bin/varnishd/http1/cache_http1_fetch.c
> index cb847f1be..3e1c8507a 100644
> --- a/bin/varnishd/http1/cache_http1_fetch.c
> +++ b/bin/varnishd/http1/cache_http1_fetch.c
> @@ -69,7 +69,7 @@ V1F_SendReq(struct worker *wrk, struct busyobj *bo, uint64_t *ctr_hdrbytes,
> ssize_t i;
> uint64_t bytes, hdrbytes;
> struct http_conn *htc;
> - struct vdp_ctx vdc[1];
> + struct vdp_ctx vdc[1] = { 0 };
> intmax_t cl;
> const char *err = NULL;
>
> @@ -106,15 +106,16 @@ V1F_SendReq(struct worker *wrk, struct busyobj *bo, uint64_t *ctr_hdrbytes,
> * XXX: need a send_timeout for the backend side
> * XXX: use cache_param->http1_iovs ?
> */
> - (void) VDP_Close(vdc, NULL, NULL);
> err = "Failure to open V1L (workspace_thread overflow)";
> }
> - else if (v1f_stackv1l(vdc, bo)) {
> - (void) V1L_Close(wrk, &bytes);
> - (void) VDP_Close(vdc, NULL, NULL);
> + else if (v1f_stackv1l(vdc, bo))
> err = "Failure to push V1L";
> - }
> +
> if (err != NULL) {
> + if (wrk->v1l != NULL)
> + (void) V1L_Close(wrk, &bytes);
> + if (vdc->magic != 0)
> + (void) VDP_Close(vdc, NULL, NULL);
Maybe VALID_OBJ?
> VSLb(bo->vsl, SLT_FetchError, "%s", err);
> VSLb_ts_busyobj(bo, "Bereq", W_TIM_real(wrk));
> htc->doclose = SC_OVERLOAD;
> _______________________________________________
> varnish-commit mailing list
> varnish-commit at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit
More information about the varnish-commit
mailing list