diff options
Diffstat (limited to 'lib/libfetch/common.c')
| -rw-r--r-- | lib/libfetch/common.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libfetch/common.c b/lib/libfetch/common.c index e4dbf3aa60cf..c03b1f52b0ff 100644 --- a/lib/libfetch/common.c +++ b/lib/libfetch/common.c @@ -262,7 +262,7 @@ _fetch_getln(int fd, char **buf, size_t *size, size_t *len) } r = select(fd+1, &readfds, NULL, NULL, &wait); if (r == -1) { - if (errno == EINTR) + if (errno == EINTR && fetchRestartCalls) continue; /* EBADF or EINVAL: shouldn't happen */ return -1; @@ -274,7 +274,7 @@ _fetch_getln(int fd, char **buf, size_t *size, size_t *len) if (r == 0) break; if (r == -1) { - if (errno == EINTR) + if (errno == EINTR && fetchRestartCalls) continue; /* any other error is bad news */ return -1; |
