summaryrefslogtreecommitdiffstats
path: root/include/all-io.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/all-io.h')
-rw-r--r--include/all-io.h4
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 */