From 2b4abd05efcc96061eaa87a6fdbc3f7121fd2c08 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Tue, 26 Jan 2021 18:50:50 -0600 Subject: Fix bug pointed out by asm89 and add test. --- lib/net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/net.c b/lib/net.c index 02354444..414c82a5 100644 --- a/lib/net.c +++ b/lib/net.c @@ -114,7 +114,10 @@ int pollinate(int in1, int in2, int out1, int out2, int timeout, int shutdown_ti if (pollfds[i].revents & POLLIN) { int len = read(pollfds[i].fd, libbuf, sizeof(libbuf)); if (len<1) pollfds[i].revents = POLLHUP; - else xwrite(i ? out2 : out1, libbuf, len); + else { + xwrite(i ? out2 : out1, libbuf, len); + continue; + } } if (pollfds[i].revents & POLLHUP) { // Close half-connection. This is needed for things like -- cgit v1.2.3