summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/server.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2013-10-20 17:28:44 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2013-10-20 17:28:44 +0000
commit1448a873f1bd167ba0f78ab0f1f7d23b3c96d079 (patch)
tree2b49f2ac97e842ea50ad2e51aa34de7ef735dfc7 /usr.bin/tmux/server.c
parent07fdf45076fd0bbf9113cac691ff11bcecd4b6b7 (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.c5
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) {