Initialize signal handlers for asyncio.
(self)
| 109 | return error_app |
| 110 | |
| 111 | def init_signals(self): |
| 112 | """Initialize signal handlers for asyncio.""" |
| 113 | # Reset all signals first |
| 114 | for s in self.SIGNALS: |
| 115 | signal.signal(s, signal.SIG_DFL) |
| 116 | |
| 117 | # Set up signal handlers via the event loop |
| 118 | self.loop.add_signal_handler(signal.SIGQUIT, self.handle_quit_signal) |
| 119 | self.loop.add_signal_handler(signal.SIGTERM, self.handle_exit_signal) |
| 120 | self.loop.add_signal_handler(signal.SIGINT, self.handle_quit_signal) |
| 121 | self.loop.add_signal_handler(signal.SIGUSR1, self.handle_usr1_signal) |
| 122 | self.loop.add_signal_handler(signal.SIGWINCH, self.handle_winch_signal) |
| 123 | self.loop.add_signal_handler(signal.SIGABRT, self.handle_abort_signal) |
| 124 | |
| 125 | def handle_quit_signal(self): |
| 126 | """Handle SIGQUIT/SIGINT - immediate shutdown.""" |