summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index 14a68c7..426170c 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -20,6 +20,16 @@ import os, stat, re, sys, shutil, gzip, socket
from static import *
+class SkipFileException(Exception):
+ """Signal that the current file should be skipped but then continue
+
+ This exception will often be raised when there is problem reading
+ an individual file, but it makes sense for the rest of the backup
+ to keep going.
+
+ """
+ pass
+
class RPathException(Exception): pass
class RPathStatic:
@@ -209,7 +219,9 @@ class RPathStatic:
"""
assert rpath.conn is Globals.local_connection
s = socket.socket(socket.AF_UNIX)
- s.bind(rpath.path)
+ try: s.bind(rpath.path)
+ except socket.error, exc:
+ raise SkipFileException("Socket error: " + str(exc))
def gzip_open_local_read(rpath):
"""Return open GzipFile. See security note directly above"""