diff options
| author | David Hewitt <1939362+davidhewitt@users.noreply.github.com> | 2022-04-25 16:56:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-25 08:56:20 -0700 |
| commit | 1cd8c29dace2dc6b91503803113fea4288ca842b (patch) | |
| tree | 96a36b51417054209edd83727b5bc7b1efdcd7f7 /Lib/asyncio/runners.py | |
| parent | 54d068adfbf2b822bcbf90dac9b3f6684cec0f99 (diff) | |
| download | cpython-git-1cd8c29dace2dc6b91503803113fea4288ca842b.tar.gz | |
gh-91880: add try/except around `signal.signal` (#91881)
Fixes gh-91880.
Diffstat (limited to 'Lib/asyncio/runners.py')
| -rw-r--r-- | Lib/asyncio/runners.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py index 2bb9ca331f..d274576b10 100644 --- a/Lib/asyncio/runners.py +++ b/Lib/asyncio/runners.py @@ -100,7 +100,13 @@ class Runner: and signal.getsignal(signal.SIGINT) is signal.default_int_handler ): sigint_handler = functools.partial(self._on_sigint, main_task=task) - signal.signal(signal.SIGINT, sigint_handler) + try: + signal.signal(signal.SIGINT, sigint_handler) + except ValueError: + # `signal.signal` may throw if `threading.main_thread` does + # not support signals (e.g. embedded interpreter with signals + # not registered - see gh-91880) + signal_handler = None else: sigint_handler = None |
