From: Amaury Denoyelle Date: Thu, 6 Aug 2026 14:19:32 +0000 (+0200) Subject: BUG/MINOR: proxy: release watcher in "show default-server" on CLI abort X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1ed96813862a5a4d4112cc8fc7607d506770182;p=thirdparty%2Fhaproxy.git BUG/MINOR: proxy: release watcher in "show default-server" on CLI abort This patch is similar to the previous one. This time, it fixes the command "show default-server", implemented in the current release branch. No need to backport. --- diff --git a/src/proxy.c b/src/proxy.c index 1a83f7bd4..85cc96667 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -4493,6 +4493,13 @@ static int cli_io_handler_show_default_server(struct appctx *appctx) return 1; } +/* release handler for "show default-server" */ +static void cli_io_release_show_default_server(struct appctx *appctx) +{ + struct show_be_ctx *ctx = appctx->svcctx; + watcher_detach(&ctx->px_watch); +} + /* Handler for "show defaults" command. */ static int cli_io_handler_show_defaults(struct appctx *appctx) { @@ -5573,7 +5580,7 @@ static struct cli_kw_list cli_kws = {{ },{ { { "enable", "frontend", NULL }, "enable frontend : re-enable specific frontend", cli_parse_enable_frontend, NULL, NULL }, { { "publish", "backend", NULL }, "publish backend : mark backend as ready for traffic", cli_parse_publish_backend, NULL, NULL }, { { "set", "maxconn", "frontend", NULL }, "set maxconn frontend : change a frontend's maxconn setting", cli_parse_set_maxconn_frontend, NULL }, - { { "show", "default-server", NULL }, "show default-server [] : list default-server instances in all or a single backend", cli_parse_show_default_server, cli_io_handler_show_default_server, }, + { { "show", "default-server", NULL }, "show default-server [] : list default-server instances in all or a single backend", cli_parse_show_default_server, cli_io_handler_show_default_server, cli_io_release_show_default_server, }, { { "show", "defaults", NULL }, "show defaults : list all proxies defaults sections", NULL, cli_io_handler_show_defaults }, { { "show","servers", "conn", NULL }, "show servers conn [] : dump server connections status (all or for a single backend)", cli_parse_show_servers, cli_io_handler_servers_state, cli_io_release_show_servers, }, { { "show","servers", "state", NULL }, "show servers state [] : dump volatile server information (all or for a single backend)", cli_parse_show_servers, cli_io_handler_servers_state, cli_io_release_show_servers, },