From: hniksic Date: Sat, 16 Apr 2005 20:12:43 +0000 (-0700) Subject: [svn] Don't ignore timeout when progress=dot. X-Git-Tag: v1.13~1197 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=9756b0adf5ff91a10f9b291260c765928aca3424 [svn] Don't ignore timeout when progress=dot. --- 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) {