From 8cd9fd4e8c293047162784ae08c12be3636b9353 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 19 Jul 1998 10:51:26 +0000 Subject: [PATCH] always use a timeout to select, even if --timeout is not specified. This makes things easier to debug. --- io.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/io.c b/io.c index fc62e452..3ea09e12 100644 --- a/io.c +++ b/io.c @@ -24,6 +24,9 @@ */ #include "rsync.h" +/* if no timeout is specified then use a 60 second select timeout */ +#define SELECT_TIMEOUT 60 + static int io_multiplexing_out; static int io_multiplexing_in; static int multiplex_in_fd; @@ -83,11 +86,10 @@ static int read_timeout(int fd, char *buf, int len) FD_ZERO(&fds); FD_SET(fd, &fds); - tv.tv_sec = io_timeout; + tv.tv_sec = io_timeout?io_timeout:SELECT_TIMEOUT; tv.tv_usec = 0; - if (select(fd+1, &fds, NULL, NULL, - io_timeout?&tv:NULL) != 1) { + if (select(fd+1, &fds, NULL, NULL, &tv) != 1) { check_timeout(); continue; } @@ -338,13 +340,13 @@ static void writefd_unbuffered(int fd,char *buf,int len) fd_count = buffer_f_in+1; } - tv.tv_sec = io_timeout; + tv.tv_sec = io_timeout?io_timeout:SELECT_TIMEOUT; tv.tv_usec = 0; count = select(fd_count, reading?&r_fds:NULL, &w_fds,NULL, - io_timeout?&tv:NULL); + &tv); if (count <= 0) { check_timeout(); -- 2.34.1