Do not require that there be no other clients before loading the config,

being the first client is enough. GitHub issue 2438.
This commit is contained in:
nicm 2020-10-28 10:09:10 +00:00 committed by Nicholas Marriott
parent 977cf3cf69
commit 7a4aa14618
1 changed files with 6 additions and 6 deletions

View File

@ -2237,7 +2237,7 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
c->fd = open(c->ttyname, O_RDWR|O_NOCTTY); c->fd = open(c->ttyname, O_RDWR|O_NOCTTY);
#endif #endif
if (c->flags & CLIENT_CONTROL) if (c->flags & CLIENT_CONTROL)
control_start(c); control_start(c);
else if (c->fd != -1) { else if (c->fd != -1) {
if (tty_init(&c->tty, c) != 0) { if (tty_init(&c->tty, c) != 0) {
@ -2252,13 +2252,13 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
} }
/* /*
* If this is the first client that has finished identifying, load * If this is the first client, load configuration files. Any later
* configuration files. * 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) && if ((~c->flags & CLIENT_EXIT) &&
!cfg_finished && !cfg_finished &&
c == TAILQ_FIRST(&clients) && c == TAILQ_FIRST(&clients))
TAILQ_NEXT(c, entry) == NULL)
start_cfg(); start_cfg();
} }