diff --git a/src/calibre/utils/speedup.c b/src/calibre/utils/speedup.c index 7249b29953..b605445413 100644 --- a/src/calibre/utils/speedup.c +++ b/src/calibre/utils/speedup.c @@ -748,9 +748,13 @@ pread_all(PyObject *self, PyObject *args) { break; } #else +#ifdef __linux__ ssize_t nr = pread64(fd, buf + pos, n - pos, offset); +#else + ssize_t nr = pread(fd, buf + pos, n - pos, offset); +#endif if (nr < 0) { - if (errno == EINTR || errno == EAGAIN || errno == EBUSY) continue; + if (errno == EINTR || errno == EAGAIN) continue; saved_errno = errno; break; } else if (nr == 0) break;