diff options
author | Robert Brewer <fumanchu@aminus.org> | 2008-06-30 19:11:18 +0000 |
---|---|---|
committer | Robert Brewer <fumanchu@aminus.org> | 2008-06-30 19:11:18 +0000 |
commit | 1231a8388deeb23425876f028074bb56ae03c201 (patch) | |
tree | 60b19d6e52f1b37631ea61db962bcc914aba19a0 | |
parent | 8cdcf0ab40d6271a3ffacfe4d6abfb562a3f4861 (diff) | |
download | cherrypy-1231a8388deeb23425876f028074bb56ae03c201.tar.gz |
SignalHandler.unsubscribe now warns if our handler is not returned. See #826.
-rw-r--r-- | cherrypy/process/plugins.py | 8 |
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). |