diff --git a/certbot/error_handler.py b/certbot/error_handler.py index e9deaea5c..68bd7f754 100644 --- a/certbot/error_handler.py +++ b/certbot/error_handler.py @@ -77,8 +77,8 @@ class ErrorHandler(object): self._call_registered() return retval finally: - prev_handlers = self._reset_signal_handlers() - self._call_signals(prev_handlers) + self._reset_signal_handlers() + self._call_signals() def register(self, func, *args, **kwargs): """Sets func to be called with *args and **kwargs during cleanup @@ -112,9 +112,7 @@ class ErrorHandler(object): """Resets signal handlers for signals in _SIGNALS.""" for signum in self.prev_handlers: signal.signal(signum, self.prev_handlers[signum]) - out = dict((k, v) for k, v in self.prev_handlers.items()) self.prev_handlers.clear() - return out def _signal_handler(self, signum, unused_frame): """Replacement function for handling recieved signals. @@ -129,13 +127,8 @@ class ErrorHandler(object): if not self.body_executed: raise errors.SignalExit - def _call_signals(self, prev_handlers): - """Finally call the deferred signals. - - :param int signum: signal number - - """ + def _call_signals(self): + """Finally call the deferred signals.""" for signum in self.received_signals: logger.debug("Calling signal %s", signum) - signal.signal(signum, prev_handlers[signum]) os.kill(os.getpid(), signum)