summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/regress.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/regress.py')
-rw-r--r--rdiff-backup/rdiff_backup/regress.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/rdiff-backup/rdiff_backup/regress.py b/rdiff-backup/rdiff_backup/regress.py
index ca1591d..f8d1f6d 100644
--- a/rdiff-backup/rdiff_backup/regress.py
+++ b/rdiff-backup/rdiff_backup/regress.py
@@ -348,6 +348,21 @@ def check_pids(curmir_incs):
except OSError, exc:
if exc[0] == errno.ESRCH: return 0
else: log.Log("Warning: unable to check if PID %d still running" % (pid,), 2)
+ except AttributeError:
+ assert os.name == 'nt'
+ import win32api, win32con, pywintypes
+ try:
+ process = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS,
+ 0, pid)
+ except pywintypes.error, error:
+ if error[0] == 87: return 0
+ else:
+ msg = "Warning: unable to check if PID %d still running"
+ log.Log(msg % pid, 2)
+ if process:
+ win32api.CloseHandle(process)
+ return 1
+ return 0
return 1
for curmir_rp in curmir_incs: