summaryrefslogtreecommitdiffstats
path: root/src/util/backup_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/backup_file.c')
-rw-r--r--src/util/backup_file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/util/backup_file.c b/src/util/backup_file.c
index cf9ddf303..990793278 100644
--- a/src/util/backup_file.c
+++ b/src/util/backup_file.c
@@ -86,7 +86,7 @@ int backup_file(const char *src_file, int dbglvl)
while (1) {
num = read(src_fd, buf, BUFFER_SIZE);
if (num < 0) {
- if (errno == EINTR) continue;
+ if (errno == EINTR || errno == EAGAIN) continue;
ret = errno;
DEBUG(dbglvl, ("Error (%d [%s]) reading from source %s\n",
ret, strerror(ret), src_file));
@@ -101,7 +101,7 @@ int backup_file(const char *src_file, int dbglvl)
errno = 0;
num = write(dst_fd, &buf[pos], count);
if (num < 0) {
- if (errno == EINTR) continue;
+ if (errno == EINTR || errno == EAGAIN) continue;
ret = errno;
DEBUG(dbglvl, ("Error (%d [%s]) writing to destination %s\n",
ret, strerror(ret), dst_file));