aboutsummaryrefslogtreecommitdiff
path: root/cmd-queue.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2013-10-01 23:31:09 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2013-10-01 23:31:09 +0100
commit7be152412ea0a614df11bce9ba5097574369a5f6 (patch)
tree3616c5c837eda9e0baff88e809163834761c71a9 /cmd-queue.c
parentd0fa48db1eaea5fc2fa62111c2bfb4836f2b5f03 (diff)
downloadrtmux-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.c4
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 */