diff options
| author | Adrian Herrmann <adrian.herrmann@qt.io> | 2023-12-15 23:53:42 +0100 |
|---|---|---|
| committer | Adrian Herrmann <adrian.herrmann@qt.io> | 2023-12-19 20:53:57 +0100 |
| commit | a78ddd45b5efca163c2fdc78cc6de9c53d3392e5 (patch) | |
| tree | 7f260eaa9ea882facbadb724219e0e1e5f0edae0 /sources/pyside6/PySide6/QtAsyncio/events.py | |
| parent | da9081d40014e63405ec0e88cba5cc58a60ed0ce (diff) | |
QtAsyncio: Catch keyboard interrupts
Catch keyboard interrupts by catching the SIGINT signal and handling
it with the default handler. Register the handler with the
QAsyncioEventLoopPolicy so that this is always done when using
QtAsyncio.
Pick-to: 6.6
Task-number: PYSIDE-769
Change-Id: I7b35367a50ab03eb014faabf6b6a3b21a6a3cd6c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/PySide6/QtAsyncio/events.py')
| -rw-r--r-- | sources/pyside6/PySide6/QtAsyncio/events.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/QtAsyncio/events.py b/sources/pyside6/PySide6/QtAsyncio/events.py index d9bbfc955..c570676cb 100644 --- a/sources/pyside6/PySide6/QtAsyncio/events.py +++ b/sources/pyside6/PySide6/QtAsyncio/events.py @@ -12,6 +12,7 @@ import concurrent.futures import contextvars import enum import os +import signal import socket import subprocess import typing @@ -64,6 +65,8 @@ class QAsyncioEventLoopPolicy(asyncio.AbstractEventLoopPolicy): self._application: QCoreApplication = application # type: ignore[assignment] self._event_loop: typing.Optional[asyncio.AbstractEventLoop] = None + signal.signal(signal.SIGINT, signal.SIG_DFL) + def get_event_loop(self) -> asyncio.AbstractEventLoop: if self._event_loop is None: self._event_loop = QAsyncioEventLoop(self._application) |
