diff options
author | 2013-10-20 17:28:43 +0000 | |
---|---|---|
committer | 2013-10-20 17:28:43 +0000 | |
commit | 8f73cf4eed9c7ae1718976b2986f09d01ae1cd35 (patch) | |
tree | 75e4bd80f6aada859b9662ee9a7e0468891815ce /usr.bin/tmux/server-client.c | |
parent | Informational message on unpack start (diff) | |
download | wireguard-openbsd-8f73cf4eed9c7ae1718976b2986f09d01ae1cd35.tar.xz wireguard-openbsd-8f73cf4eed9c7ae1718976b2986f09d01ae1cd35.zip |
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-client.c')
-rw-r--r-- | usr.bin/tmux/server-client.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c index a1c41af0374..c27dcdf48fe 100644 --- a/usr.bin/tmux/server-client.c +++ b/usr.bin/tmux/server-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.112 2013/10/11 08:07:12 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.113 2013/10/20 17:28:43 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -155,8 +155,8 @@ server_client_lost(struct client *c) free(c->ttyname); free(c->term); - evbuffer_free (c->stdin_data); - evbuffer_free (c->stdout_data); + evbuffer_free(c->stdin_data); + evbuffer_free(c->stdout_data); if (c->stderr_data != c->stdout_data) evbuffer_free (c->stderr_data); @@ -932,7 +932,10 @@ server_client_msg_command(struct client *c, struct imsg *imsg) } cmd_free_argv(argc, argv); - cmdq_run(c->cmdq, cmdlist); + if (c != cfg_client || cfg_finished) + cmdq_run(c->cmdq, cmdlist); + else + cmdq_append(c->cmdq, cmdlist); cmd_list_free(cmdlist); return; |