summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2008-01-06 02:13:22 +0000
committerowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2008-01-06 02:13:22 +0000
commitf2145790f9d58b85537c9b0f3cbcfaf7fd34fb38 (patch)
tree29759f5549909d9c5dbb467f5472a47ab2b839f8
parent6b6645d7faaa76d48ea4f6da1dfe346755b91c3f (diff)
downloadrdiff-backup-f2145790f9d58b85537c9b0f3cbcfaf7fd34fb38.tar.gz
Recover from EBADF during fsync(). Closes Savannah bug #15839
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@868 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/CHANGELOG4
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py2
2 files changed, 5 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 645b787..36193fb 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,10 @@
New in v1.1.16 (????/??/??)
---------------------------
+Add EBADF to the list of recoverable errors when fsync() is called. This
+fixes an rdiff-backup error on AIX and IRIX. Closes Savannah bug #15839.
+(Fix from Peter O'Gorman)
+
Properly initialize new QuotedRPaths. Fixes --list-at-time, etc. when
the target is remote. (Andrew Ferguson)
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index dbb49f6..b33bf14 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -1181,7 +1181,7 @@ class RPath(RORPath):
os.close(fd)
except OSError, e:
if locals().has_key('fd'): os.close(fd)
- if (e.errno != errno.EPERM and e.errno != errno.EACCES) \
+ if (e.errno not in (errno.EPERM, errno.EACCES, errno.EBADF)) \
or self.isdir(): raise
# Maybe the system doesn't like read-only fsyncing.