diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-01 23:31:09 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-01 23:31:09 +0100 |
commit | 7be152412ea0a614df11bce9ba5097574369a5f6 (patch) | |
tree | 3616c5c837eda9e0baff88e809163834761c71a9 /cmd-queue.c | |
parent | d0fa48db1eaea5fc2fa62111c2bfb4836f2b5f03 (diff) | |
download | rtmux-7be152412ea0a614df11bce9ba5097574369a5f6.tar.gz rtmux-7be152412ea0a614df11bce9ba5097574369a5f6.tar.bz2 rtmux-7be152412ea0a614df11bce9ba5097574369a5f6.zip |
Make cmdq->client_exit a tristate (-1 means "not set") so that if explicitly
set it can be copied from child to parent cmdq by if-shell and
source-file. This fixes using attach or new. From Chris Johnsen.
Diffstat (limited to 'cmd-queue.c')
-rw-r--r-- | cmd-queue.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cmd-queue.c b/cmd-queue.c index 38a88d23..19d98190 100644 --- a/cmd-queue.c +++ b/cmd-queue.c @@ -35,7 +35,7 @@ cmdq_new(struct client *c) cmdq->dead = 0; cmdq->client = c; - cmdq->client_exit = 0; + cmdq->client_exit = -1; TAILQ_INIT(&cmdq->queue); cmdq->item = NULL; @@ -259,7 +259,7 @@ cmdq_continue(struct cmd_q *cmdq) } while (cmdq->item != NULL); empty: - if (cmdq->client_exit) + if (cmdq->client_exit > 0) cmdq->client->flags |= CLIENT_EXIT; if (cmdq->emptyfn != NULL) cmdq->emptyfn(cmdq); /* may free cmdq */ |