From 5811dd7ceb4d29c9871399047522adb22ee77ece Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 27 Apr 2020 09:33:46 +0100 Subject: Do not close stdout file descriptor in control mode since it will be needed for printing the exit messages. --- client.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'client.c') diff --git a/client.c b/client.c index 108873e7..4e7f7dcc 100644 --- a/client.c +++ b/client.c @@ -520,7 +520,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 */ } } @@ -675,7 +675,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) { -- cgit v1.2.3