Skip to content

Commit a848822

Browse files
committed
Fix the signal handling to work on Windows
This includes handling the SIGBREAK signal which is raised on Windows resulting in the correct graceful shutdown.
1 parent d5f9c38 commit a848822

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

src/quart/app.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,11 +1371,9 @@ def run(
13711371
def _signal_handler(*_: Any) -> None:
13721372
shutdown_event.set()
13731373

1374-
try:
1375-
loop.add_signal_handler(signal.SIGTERM, _signal_handler)
1376-
loop.add_signal_handler(signal.SIGINT, _signal_handler)
1377-
except (AttributeError, NotImplementedError):
1378-
pass
1374+
for signal_name in {"SIGINT", "SIGTERM", "SIGBREAK"}:
1375+
if hasattr(signal, signal_name):
1376+
signal.signal(getattr(signal, signal_name), _signal_handler)
13791377

13801378
server_name = self.config.get("SERVER_NAME")
13811379
sn_host = None

0 commit comments

Comments
 (0)