From 55bb7fff14fca1a5e0c27a781ea8d6e94e091ed8 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 27 Feb 2005 18:24:34 +0000 Subject: [PATCH] Don't loop forever when the receiver is waiting around to be killed at EOF -- it should be a rapidly arriving event, so only hang around for 10 seconds, max., and then go ahead and report the "unexpectedly closed" error. --- io.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/io.c b/io.c index c1f38978..b0bdabe8 100644 --- a/io.c +++ b/io.c @@ -376,9 +376,11 @@ void io_set_filesfrom_fds(int f_in, int f_out) static void whine_about_eof(int fd) { if (kluge_around_eof && fd == sock_f_in) { + int i; if (kluge_around_eof > 0) exit_cleanup(0); - while (1) + /* If we're still here after 10 seconds, exit with an error. */ + for (i = 10*1000/20; i--; ) msleep(20); } -- 2.34.1