diff --git a/src/cli.c b/src/cli.c index 739107dab..ce8635f2b 100644 --- a/src/cli.c +++ b/src/cli.c @@ -847,10 +847,14 @@ static int cli_io_handler_show_fd(struct appctx *appctx) void *ctx = NULL; uint32_t conn_flags = 0; + thread_isolate(); + fdt = fdtab[fd]; - if (!fdt.owner) + if (!fdt.owner) { + thread_release(); goto skip; // closed + } if (fdt.iocb == conn_fd_handler) { conn_flags = ((struct connection *)fdt.owner)->flags; @@ -916,6 +920,8 @@ static int cli_io_handler_show_fd(struct appctx *appctx) li->bind_conf->frontend->id); } + thread_release(); + chunk_appendf(&trash, "\n"); if (ci_putchk(si_ic(si), &trash) == -1) {