From 1eea6657fbc1f9c4cc75b6f1ceaa9e60be6b5260 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 5 May 2022 20:12:01 +0200 Subject: [PATCH] CLEANUP: httpclient: do not use the appctx.ctx anymore The httpclient already uses its own pointer and only used to store this single pointer into the appctx.ctx field. Let's just move it to the svcctx and remove this entry from the appctx union. --- include/haproxy/applet-t.h | 10 ---------- src/http_client.c | 6 +++--- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/include/haproxy/applet-t.h b/include/haproxy/applet-t.h index 51186b523..672755113 100644 --- a/include/haproxy/applet-t.h +++ b/include/haproxy/applet-t.h @@ -135,16 +135,6 @@ struct appctx { unsigned int unused:31; struct shared_block *next; /* The next block of data to be sent for this cache entry. */ } cache; - /* all entries below are used by various CLI commands, please - * keep the grouped together and avoid adding new ones. - */ - struct { - struct httpclient *ptr; - } httpclient; - - /* NOTE: please add regular applet contexts (ie: not - * CLI-specific ones) above, before "cli". - */ } ctx; /* context-specific variables used by any applet */ }; /* end of anon union */ }; diff --git a/src/http_client.c b/src/http_client.c index 0062b2807..5d2204447 100644 --- a/src/http_client.c +++ b/src/http_client.c @@ -639,7 +639,7 @@ struct appctx *httpclient_start(struct httpclient *hc) hc->appctx = appctx; hc->flags |= HTTPCLIENT_FS_STARTED; - appctx->ctx.httpclient.ptr = hc; + appctx->svcctx = hc; /* The request was transferred when the stream was created. So switch * directly to REQ_BODY or RES_STLINE state @@ -738,7 +738,7 @@ err: static void httpclient_applet_io_handler(struct appctx *appctx) { - struct httpclient *hc = appctx->ctx.httpclient.ptr; + struct httpclient *hc = appctx->svcctx; struct conn_stream *cs = appctx->owner; struct stream *s = __cs_strm(cs); struct channel *req = &s->req; @@ -1043,7 +1043,7 @@ end: static void httpclient_applet_release(struct appctx *appctx) { - struct httpclient *hc = appctx->ctx.httpclient.ptr; + struct httpclient *hc = appctx->svcctx; /* mark the httpclient as ended */ hc->flags |= HTTPCLIENT_FS_ENDED;