From: Karel Zak Date: Tue, 30 Jun 2015 14:05:03 +0000 (+0200) Subject: include/all-io: read_all() don't retry on EOF X-Git-Tag: v2.27-rc1~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e0cd7ae9e561f725a52f6a2607c1e2cc7e82df3;p=thirdparty%2Futil-linux.git include/all-io: read_all() don't retry on EOF Signed-off-by: Karel Zak --- diff --git a/include/all-io.h b/include/all-io.h index 2546cff1be..0623692e15 100644 --- a/include/all-io.h +++ b/include/all-io.h @@ -64,8 +64,7 @@ static inline ssize_t read_all(int fd, char *buf, size_t count) while (count > 0) { ret = read(fd, buf, count); if (ret <= 0) { - if ((errno == EAGAIN || errno == EINTR || ret == 0) && - (tries++ < 5)) { + if (ret < 0 && (errno == EAGAIN || errno == EINTR) && (tries++ < 5)) { xusleep(250000); continue; } @@ -80,5 +79,4 @@ static inline ssize_t read_all(int fd, char *buf, size_t count) return c; } - #endif /* UTIL_LINUX_ALL_IO_H */