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/regress.py ..


From: Andrew Ferguson
Subject: [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/regress.py ...
Date: Tue, 10 Jun 2008 13:09:27 +0000

CVSROOT:        /sources/rdiff-backup
Module name:    rdiff-backup
Changes by:     Andrew Ferguson <owsla> 08/06/10 13:09:27

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : regress.py robust.py 

Log message:
        Add Windows-specific logic for checking if another rdiff-backup process
        is running. Do not try to handle non-existant SIGHUP and SIGQUIT signals
        on Windows. (Patch from Josh Nisly)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&r1=1.269&r2=1.270
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/regress.py?cvsroot=rdiff-backup&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/robust.py?cvsroot=rdiff-backup&r1=1.38&r2=1.39

Patches:
Index: CHANGELOG
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.269
retrieving revision 1.270
diff -u -b -r1.269 -r1.270
--- CHANGELOG   10 Jun 2008 12:55:59 -0000      1.269
+++ CHANGELOG   10 Jun 2008 13:09:26 -0000      1.270
@@ -1,6 +1,10 @@
 New in v1.1.16 (????/??/??)
 ---------------------------
 
+Add Windows-specific logic for checking if another rdiff-backup process
+is running. Do not try to handle non-existant SIGHUP and SIGQUIT signals
+on Windows. (Patch from Josh Nisly)
+
 Do not use inode numbers on Windows and gracefully handle attempts to
 rename over existing files on Windows. (Patch from Josh Nisly)
 

Index: rdiff_backup/regress.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/regress.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- rdiff_backup/regress.py     9 May 2008 13:06:30 -0000       1.23
+++ rdiff_backup/regress.py     10 Jun 2008 13:09:27 -0000      1.24
@@ -348,6 +348,21 @@
                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:

Index: rdiff_backup/robust.py
===================================================================
RCS file: /sources/rdiff-backup/rdiff-backup/rdiff_backup/robust.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- rdiff_backup/robust.py      28 Jul 2007 20:09:52 -0000      1.38
+++ rdiff_backup/robust.py      10 Jun 2008 13:09:27 -0000      1.39
@@ -104,7 +104,12 @@
 
 def install_signal_handlers():
        """Install signal handlers on current connection"""
-       for signum in [signal.SIGQUIT, signal.SIGHUP, signal.SIGTERM]:
+       signals = [signal.SIGTERM, signal.SIGINT]
+       try:
+               signals.extend([signal.SIGHUP, signal.SIGQUIT])
+       except AttributeError:
+           pass
+       for signum in signals:
                signal.signal(signum, signal_handler)
 
 




reply via email to

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