summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2014-07-13 20:23:10 +0000
committernicm <nicm>2014-07-13 20:23:10 +0000
commitf117c7d94a2abb0561540a1fe33dd729b1cb8b34 (patch)
tree14a53479b19dc5c126b353874b84d4f013a00f55
parentd1f939cede4a1eb7137feb892450e0e2b650cc6c (diff)
If a client is killed while suspended with ^Z so has gone through the
MSG_EXITED dance, don't try to resume it since a) it's pointless and b) the tty structures have been cleaned up and tmux will crash.
-rw-r--r--server-client.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/server-client.c b/server-client.c
index 0f4d39d6..1ef3f311 100644
--- a/server-client.c
+++ b/server-client.c
@@ -875,6 +875,9 @@ server_client_msg_dispatch(struct client *c)
break;
c->flags &= ~CLIENT_SUSPENDED;
+ if (c->tty.fd == -1) /* exited in the meantime */
+ break;
+
if (gettimeofday(&c->activity_time, NULL) != 0)
fatal("gettimeofday");
if (c->session != NULL)