summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Brewer <fumanchu@aminus.org>2008-06-30 19:11:18 +0000
committerRobert Brewer <fumanchu@aminus.org>2008-06-30 19:11:18 +0000
commit1231a8388deeb23425876f028074bb56ae03c201 (patch)
tree60b19d6e52f1b37631ea61db962bcc914aba19a0
parent8cdcf0ab40d6271a3ffacfe4d6abfb562a3f4861 (diff)
downloadcherrypy-1231a8388deeb23425876f028074bb56ae03c201.tar.gz
SignalHandler.unsubscribe now warns if our handler is not returned. See #826.
-rw-r--r--cherrypy/process/plugins.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/cherrypy/process/plugins.py b/cherrypy/process/plugins.py
index ca3ab836..7f3cde7e 100644
--- a/cherrypy/process/plugins.py
+++ b/cherrypy/process/plugins.py
@@ -80,10 +80,14 @@ class SignalHandler(object):
self.bus.log("Restoring %s handler %r." % (signame, handler))
try:
- _signal.signal(signum, handler)
+ our_handler = _signal.signal(signum, handler)
+ if our_handler is None:
+ self.bus.log("Restored old %s handler %r, but our "
+ "handler was not registered." %
+ (signame, handler), level=30)
except ValueError:
self.bus.log("Unable to restore %s handler %r." %
- (signame, handler), traceback=True)
+ (signame, handler), level=40, traceback=True)
def set_handler(self, signal, listener=None):
"""Subscribe a handler for the given signal (number or name).