rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py


From: Andrew Ferguson
Subject: [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py
Date: Sun, 06 Jan 2008 02:13:22 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Changes by:     Andrew Ferguson <owsla> 08/01/06 02:13:22

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : rpath.py 

Log message:
        Recover from EBADF during fsync(). Closes Savannah bug #15839

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.256&r2=1.257
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/rpath.py?cvsroot=rdiff-backup&r1=1.117&r2=1.118

Patches:
Index: CHANGELOG
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.256
retrieving revision 1.257
diff -u -b -r1.256 -r1.257
--- CHANGELOG   5 Jan 2008 18:43:13 -0000       1.256
+++ CHANGELOG   6 Jan 2008 02:13:22 -0000       1.257
@@ -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)
 

Index: rdiff_backup/rpath.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/rpath.py,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -b -r1.117 -r1.118
--- rdiff_backup/rpath.py       25 Dec 2007 03:45:13 -0000      1.117
+++ rdiff_backup/rpath.py       6 Jan 2008 02:13:22 -0000       1.118
@@ -1181,7 +1181,7 @@
                        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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]