From b33a302235affc19d8a1d8f7473fe589d1bcd17e Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 28 Oct 2020 10:09:10 +0000 Subject: [PATCH] Do not require that there be no other clients before loading the config, being the first client is enough. GitHub issue 2438. --- server-client.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server-client.c b/server-client.c index efeec85b..4c9706f7 100644 --- a/server-client.c +++ b/server-client.c @@ -2243,7 +2243,7 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg) c->name = name; log_debug("client %p name is %s", c, c->name); - if (c->flags & CLIENT_CONTROL) + if (c->flags & CLIENT_CONTROL) control_start(c); else if (c->fd != -1) { if (tty_init(&c->tty, c) != 0) { @@ -2258,13 +2258,13 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg) } /* - * If this is the first client that has finished identifying, load - * configuration files. + * If this is the first client, load configuration files. Any later + * clients are allowed to continue with their command even if the + * config has not been loaded - they might have been run from inside it */ if ((~c->flags & CLIENT_EXIT) && - !cfg_finished && - c == TAILQ_FIRST(&clients) && - TAILQ_NEXT(c, entry) == NULL) + !cfg_finished && + c == TAILQ_FIRST(&clients)) start_cfg(); }