def _set_signal_handlers(self):
self.logger.info('Setting shutdown signal handlers.')
default_int_handler = signal.default_int_handler
for sig in self.shutdown_signals:
handler = signal.getsignal(sig)
if handler is self._shutdown_handler:
continue
elif handler not in [0, default_int_handler]:
def _handler(*args, **kwargs):
try:
handler(*args, **kwargs)
except RecursionError:
return
default_int_handler(*args, **kwargs)
handler = _handler
else:
handler = self._shutdown_handler
signal.signal(sig, handler)
# -----------------------------------------------------------------------
# Runs the gateway subprocess and streams it's output to stdout.
# -----------------------------------------------------------------------
评论列表
文章目录