diff options
Diffstat (limited to 'include/all-io.h')
-rw-r--r-- | include/all-io.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/include/all-io.h b/include/all-io.h index 2546cff1b..0623692e1 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 */ |