summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authornicm <nicm>2020-04-27 08:35:09 +0000
committernicm <nicm>2020-04-27 08:35:09 +0000
commit1574126e8a424a442b66b4bd778539b571eebfcf (patch)
tree6624c8aaeed1876b2a25c3dc59bdc0f4915e9bbf /client.c
parent18886cb510b26a8db0d39c39e8682843bbac7d20 (diff)
Do not close the stdout file descriptor in control mode as it will be
needed for printing the exit messages. Fixes a bug when detaching with iTerm2.
Diffstat (limited to 'client.c')
-rw-r--r--client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/client.c b/client.c
index 98565c5d..b3519690 100644
--- a/client.c
+++ b/client.c
@@ -518,7 +518,7 @@ client_write_open(void *data, size_t datalen)
errno = EBADF;
else {
cf->fd = dup(msg->fd);
- if (client_flags & CLIENT_CONTROL)
+ if (~client_flags & CLIENT_CONTROL)
close(msg->fd); /* can only be used once */
}
}
@@ -673,7 +673,8 @@ client_read_open(void *data, size_t datalen)
errno = EBADF;
else {
cf->fd = dup(msg->fd);
- close(msg->fd); /* can only be used once */
+ if (~client_flags & CLIENT_CONTROL)
+ close(msg->fd); /* can only be used once */
}
}
if (cf->fd == -1) {