diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2013-10-20 17:28:44 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2013-10-20 17:28:44 +0000 |
commit | 1448a873f1bd167ba0f78ab0f1f7d23b3c96d079 (patch) | |
tree | 2b49f2ac97e842ea50ad2e51aa34de7ef735dfc7 /usr.bin/tmux/server.c | |
parent | 07fdf45076fd0bbf9113cac691ff11bcecd4b6b7 (diff) |
Do not run any command line command from the client which starts the
server until after the configuration file completes. This prevents it
racing against run-shell or if-shell in .tmux.conf that run in the
background.
Diffstat (limited to 'usr.bin/tmux/server.c')
-rw-r--r-- | usr.bin/tmux/server.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.bin/tmux/server.c b/usr.bin/tmux/server.c index 96ac0cb671d..ce7ea727e65 100644 --- a/usr.bin/tmux/server.c +++ b/usr.bin/tmux/server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.110 2013/04/24 10:01:32 nicm Exp $ */ +/* $OpenBSD: server.c,v 1.111 2013/10/20 17:28:43 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -168,6 +168,9 @@ server_start(int lockfd, char *lockfile) cfg_finished = 0; cfg_references = 1; ARRAY_INIT(&cfg_causes); + cfg_client = ARRAY_FIRST(&clients); + if (cfg_client != NULL) + cfg_client->references++; if (access(TMUX_CONF, R_OK) == 0) { if (load_cfg(TMUX_CONF, cfg_cmd_q, &cause) == -1) { |