gh-146194: Fix nested KeyboardInterrupt handling in asyncio#146203
Open
okiemute04 wants to merge 5 commits intopython:mainfrom
Open
gh-146194: Fix nested KeyboardInterrupt handling in asyncio#146203okiemute04 wants to merge 5 commits intopython:mainfrom
okiemute04 wants to merge 5 commits intopython:mainfrom
Conversation
- Modify _on_sigint to cancel main task on every SIGINT - Allow nested cancellations to propagate correctly through multiple levels - Add test_nested_keyboardinterrupt_handling to test_runners.py - Add NEWS entry Fixes issue where third Ctrl+C would crash with: 'Task was destroyed but it is pending!'
ba59a54 to
bd97ffd
Compare
- Modify _on_sigint to cancel main task on every SIGINT - Allow nested cancellations to propagate correctly through multiple levels - Add test_nested_keyboardinterrupt_handling to test_runners.py - Add NEWS entry Fixes issue where third Ctrl+C would crash with: 'Task was destroyed but it is pending!'
bd97ffd to
5982498
Compare
ce191ae to
2563ac4
Compare
Member
|
Hi, please don't force push, see yesterday's comment: #146179 (comment) |
aisk
reviewed
Mar 20, 2026
Comment on lines
+1
to
+4
| .. gh-issue: 146194 | ||
| .. section: Library | ||
Contributor
Author
|
@aisk thanks, I will not anymore. Noted, I was trying to fix the NEWS file issue. I will avoid force pushing going forward. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #146194
Problem
When multiple Ctrl+C presses occurred in nested asyncio tasks, the
third press would cause a crash with "Task was destroyed but it is pending!"
instead of gracefully cancelling the nested tasks.
Solution
Modified
_on_sigintinLib/asyncio/runners.pyto cancel the main taskon every SIGINT, allowing nested cancellations to propagate correctly
through multiple levels.
Testing
test_nested_keyboardinterrupt_handlingtotest_runners.py