skytools.scripting: detect missing signals
authorMarko Kreen <markokr@gmail.com>
Tue, 22 May 2012 09:58:54 +0000 (12:58 +0300)
committerMarko Kreen <markokr@gmail.com>
Tue, 22 May 2012 09:58:54 +0000 (12:58 +0300)
Don't hook signals that are not supported by OS.

Needed for win32.

python/skytools/scripting.py

index 0faa9ef2eefefc62e2b9d3a6ac759abe060cb96a..d1544ced345a3385b0edd4b96a4554d3d0bf1ca8 100644 (file)
@@ -627,8 +627,10 @@ class BaseScript(object):
         """
 
         # set signals
-        signal.signal(signal.SIGHUP, self.hook_sighup)
-        signal.signal(signal.SIGINT, self.hook_sigint)
+        if hasattr(signal, 'SIGHUP'):
+            signal.signal(signal.SIGHUP, self.hook_sighup)
+        if hasattr(signal, 'SIGINT'):
+            signal.signal(signal.SIGINT, self.hook_sigint)
 
     # define some aliases (short-cuts / backward compatibility cruft)
     stat_add = stat_put                 # Old, deprecated function.