From 3135cd39c31cb82714fb8424ba48897cf74af6dd Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 29 Dec 2015 19:26:58 +0100 Subject: [PATCH] client: Simplify input EOF handling We increment @send_eof only when read() returns zero, and we read() only when it's zero. Therefore, we never increment it beyond one. Change it from counter to flag. This effectively reverts commit 51846ec (v4.3.11). Possible only because the previous commit got rid of the @send_eof increment on failed execute. Signed-off-by: Markus Armbruster --- src/client/play.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/play.c b/src/client/play.c index 93ba6bcb0..9881622f6 100644 --- a/src/client/play.c +++ b/src/client/play.c @@ -508,7 +508,7 @@ play(int sock) partial_line_sent = 0; if (send_eof && !partial_line_sent && ring_putm(&inbuf, EOF_COOKIE, sizeof(EOF_COOKIE) - 1) >= 0) - send_eof--; + send_eof = 0; if (send_intr && !partial_line_sent && ring_putm(&inbuf, INTR_COOKIE, sizeof(INTR_COOKIE) - 1) >= 0) { send_intr = 0; @@ -532,14 +532,14 @@ play(int sock) perror("read batch file"); send_intr = 1; } else - send_eof++; + send_eof = 1; close(input_fd); input_fd = 0; } else { /* stop reading input, drain socket ring buffers */ if (n < 0) perror("read stdin"); - send_eof++; + send_eof = 1; eof_fd0 = 1; sa.sa_handler = SIG_DFL; sigaction(SIGINT, &sa, NULL); -- 2.43.0