From 9756b0adf5ff91a10f9b291260c765928aca3424 Mon Sep 17 00:00:00 2001 From: hniksic Date: Sat, 16 Apr 2005 13:12:43 -0700 Subject: [PATCH] [svn] Don't ignore timeout when progress=dot. --- src/ChangeLog | 7 +++++++ src/retr.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index b1f5e9ce..f51928c3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2005-04-16 Hrvoje Niksic + + * retr.c (fd_read_body): Respect read timeout with non-interactive + or no progress gauge -- treat ETIMEDOUT specially only when + progress_interactive. + Reported by FUJISHIMA Satsuki. + 2005-04-16 FUJISHIMA Satsuki * http.c (gethttp): Don't use HTTP/1.0 persistent connections over diff --git a/src/retr.c b/src/retr.c index 842eaaae..64f396ea 100644 --- a/src/retr.c +++ b/src/retr.c @@ -281,10 +281,10 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos, } ret = fd_read (fd, dlbuf, rdsize, tmout); - if (ret == 0 || (ret < 0 && errno != ETIMEDOUT)) - break; /* read error */ - else if (ret < 0) - ret = 0; /* read timeout */ + if (progress_interactive && ret < 0 && errno == ETIMEDOUT) + ret = 0; /* interactive timeout, handled above */ + else if (ret <= 0) + break; /* EOF or read error */ if (progress || opt.limit_rate) { -- 2.39.2