On Mon, 29 Jan 2007, Marc Dyksterhouse wrote: > Dean, > > I looked into what was happening with fsync under cygwin. Turns out fsync > returns EACCES for any file so I added that to the except clause to prevent > the exception from being re-raised. After fixing that, a few more exceptions > where happening because the 'data' array is not filled in under cygwin (not > sure why). I put some checks around some of the places that data['xxx'] is > accessed to prevent the exceptions. > > The result is a new rpath.py patch (link below) that seems to work and should > be cross platform. > > I'm also submitting a second fs_abilities.py patch. This one addresses your > concern about which chars are quoted. The problem with the original regex is > that it didn't quote * or ". My new regex only quotes the chars that are not > valid in FAT-32 plus the semicolon since that's the escape char. New regex: > '\000-\037\"*/:<>?\\\\|;' > > Complete list: > > http://www.visiwave.com/download/rdiff_backup/rpath.py.patch
i'd prefer a specific try/except around the os.fsync to catch the EACCESS -- otherwise you'll be skipping the os.close... so i'm guessing you have an fd leak in this patch. > http://www.visiwave.com/download/rdiff_backup/Security.py.patch > http://www.visiwave.com/download/rdiff_backup/fs_abilities.py.patch > http://www.visiwave.com/download/rdiff_backup/fs_abilities.py.2.patch hmm... do you need to escape \200-\377 as well... ? also ... any chance i could convince you to rebase all of these against the CVS HEAD, since i've already commited most of it? http://savannah.nongnu.org/cvs/?group=rdiff-backup thanks a bunch -dean _______________________________________________ rdiff-backup-users mailing list at rdiff-backup-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki