GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() by hetmankp · Pull Request #97765 · python/cpython

Conversation

@hetmankp

@hetmankp hetmankp commented Oct 3, 2022 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

This addresses issue #94732, ensuring that the event loop's _thread_id attribute and the asyncgen hooks set by sys.set_asyncgen_hooks() are always restored no matter where a KeyboardInterrupt exception is raised.

  • Issue: Race with KeyboardInterrupt in asyncio loop run_forever() method #94732

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@hetmankp
pythongh-94732: Fix KeyboardInterrupt race in asyncio run_forever()
adc04fb
This addresses issue python#94732, ensuring that the event loop's _thread_id
attribute and the asyncgen hooks set by sys.set_asyncgen_hooks() are
always restored no matter where a KeyboardInterrupt exception is raised.
@hetmankp
hetmankp requested review from 1st1, asvetlov and gvanrossum as code owners October 3, 2022 14:04
@ghost

ghost commented Oct 3, 2022 •
edited by ghost
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot added the awaiting review label Oct 3, 2022
@bedevere-bot

bedevere-bot commented Oct 3, 2022

Copy link
Copy Markdown

Most changes to Python require a NEWS entry.

Please add it using the blurb_it web app or the blurb command-line tool.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hetmankp hetmankp mentioned this pull request Oct 3, 2022
gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() #94733
Closed
@gvanrossum gvanrossum added the skip news label Oct 3, 2022
gvanrossum
gvanrossum approved these changes Oct 3, 2022
View reviewed changes
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting review labels Oct 3, 2022
kumaraditya303
kumaraditya303 approved these changes Oct 3, 2022
View reviewed changes
@kumaraditya303 kumaraditya303 added needs backport to 3.10 needs backport to 3.11 only security fixes topic-asyncio labels Oct 3, 2022
@kumaraditya303 kumaraditya303 assigned gvanrossum Oct 3, 2022
gvanrossum
gvanrossum approved these changes Oct 3, 2022
View reviewed changes
@gvanrossum
gvanrossum merged commit 3a49dbb into python:main Oct 3, 2022
@miss-islington

miss-islington commented Oct 3, 2022

Copy link
Copy Markdown
Contributor

Thanks @hetmankp for the PR, and @gvanrossum for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed awaiting merge needs backport to 3.11 only security fixes labels Oct 3, 2022
@bedevere-bot

bedevere-bot commented Oct 3, 2022

Copy link
Copy Markdown

GH-97792 is a backport of this pull request to the 3.11 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 label Oct 3, 2022
@bedevere-bot

bedevere-bot commented Oct 3, 2022

Copy link
Copy Markdown

GH-97793 is a backport of this pull request to the 3.10 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 3, 2022
@hetmankp @miss-islington
pythongh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (p…
0d7548e
…ythonGH-97765)

Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
(cherry picked from commit 3a49dbb)

Co-authored-by: hetmankp <[email protected]>
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 3, 2022
@hetmankp @miss-islington
pythongh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (p…
e4b30d9
…ythonGH-97765)

Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
(cherry picked from commit 3a49dbb)

Co-authored-by: hetmankp <[email protected]>
miss-islington added a commit that referenced this pull request Oct 3, 2022
@miss-islington @hetmankp
gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (GH-97765)
4420da0
Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
(cherry picked from commit 3a49dbb)

Co-authored-by: hetmankp <[email protected]>
miss-islington added a commit that referenced this pull request Oct 3, 2022
@miss-islington @hetmankp
gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (GH-97765)
a7e2811
Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
(cherry picked from commit 3a49dbb)

Co-authored-by: hetmankp <[email protected]>
carljm added a commit to carljm/cpython that referenced this pull request Oct 3, 2022
@carljm
Merge branch 'main' into dictwatch
e83abac
* main: (2069 commits)
  pythongh-96512: Move int_max_str_digits setting to PyConfig (python#96944)
  pythongh-94808: Coverage: Check picklablability of calliter (python#95923)
  pythongh-94808: Add test coverage for PyObject_HasAttrString (python#96627)
  pythongh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (python#97765)
  Fix typos in `bltinmodule.c`. (pythonGH-97766)
  pythongh-94808: `_PyLineTable_StartsLine` was not used (pythonGH-96609)
  pythongh-97681: Remove Tools/demo/ directory (python#97682)
  Fix typo in unittest docs (python#97742)
  pythongh-97728: Argument Clinic: Fix uninitialized variable in the Py_UNICODE converter (pythonGH-97729)
  pythongh-95913: Fix PEP number in PEP 678 What's New ref label (python#97739)
  pythongh-95913: Copyedit/improve New Modules What's New section (python#97721)
  pythongh-97740: Fix bang in Sphinx C domain ref target syntax (python#97741)
  pythongh-96819: multiprocessing.resource_tracker: check if length of pipe write <= 512 (python#96890)
  pythongh-97706: multiprocessing tests: Delete unused variable `rand` (python#97707)
  pythonGH-85447: Clarify docs about awaiting future multiple times (python#97738)
  [docs] Update logging cookbook with recipe for using a logger like an output… (pythonGH-97730)
  pythongh-97607: Fix content parsing in the impl-detail reST directive (python#97652)
  pythongh-95975: Move except/*/finally ref labels to more precise locations (python#95976)
  pythongh-97591: In `Exception.__setstate__()` acquire strong references before calling `tp_hash` slot (python#97700)
  pythongh-95588: Drop the safety claim from `ast.literal_eval` docs. (python#95919)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gvanrossum gvanrossum gvanrossum approved these changes
@kumaraditya303 kumaraditya303 kumaraditya303 approved these changes
@1st1 1st1 Awaiting requested review from 1st1 1st1 is a code owner
@asvetlov asvetlov Awaiting requested review from asvetlov asvetlov is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@gvanrossum gvanrossum

Labels

skip news topic-asyncio

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

5 participants

@hetmankp @bedevere-bot @miss-islington @gvanrossum @kumaraditya303
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.