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-100112: avoid using iterable coroutines in asyncio internally by kumaraditya303 · Pull Request #100128 · python/cpython

Conversation

@kumaraditya303

@kumaraditya303 kumaraditya303 commented Dec 9, 2022 •
edited by bedevere-bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor
  • Issue: Avoid using iterable coroutines in asyncio internally #100112

Sorry, something went wrong.

Uh oh!

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

All reactions
@kumaraditya303 kumaraditya303 added the topic-asyncio label Dec 9, 2022
@bedevere-bot bedevere-bot mentioned this pull request Dec 9, 2022
Avoid using iterable coroutines in asyncio internally #100112
Closed
@bedevere-bot bedevere-bot added the awaiting core review label Dec 9, 2022
@kumaraditya303 kumaraditya303 added the skip news label Dec 9, 2022
@kumaraditya303
kumaraditya303 marked this pull request as ready for review December 9, 2022 04:20
@kumaraditya303
kumaraditya303 requested review from 1st1, asvetlov and gvanrossum as code owners December 9, 2022 04:20
gvanrossum
gvanrossum reviewed Dec 10, 2022
View reviewed changes

@gvanrossum gvanrossum left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So as you've seen from my comment on the issue, I don't understand what's going on here. Why do we need to add this? Since _wrap_awaitable is internal anyway, and there's only one caller, maybe we can simplify this by modifying the call site? (FWIW, the variable called_wrap_awaitable at that call site should probably be called should_close with the truty value flipped, to make it clearer what its purpose is.

Sorry, something went wrong.

Uh oh!

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

All reactions
@python python deleted a comment from netlify Bot Dec 10, 2022
@kumaraditya303
kumaraditya303 marked this pull request as draft December 10, 2022 08:40
@kumaraditya303

kumaraditya303 commented Dec 10, 2022

Copy link
Copy Markdown
Contributor Author

So as you've seen from my comment on the issue, I don't understand what's going on here. Why do we need to add this? Since _wrap_awaitable is internal anyway, and there's only one caller, maybe we can simplify this by modifying the call site? (FWIW, the variable called_wrap_awaitable at that call site should probably be called should_close with the truty value flipped, to make it clearer what its purpose is.

Yeah, it will be better to inline it. I'll write some tests for this first before proceeding here. (this should have been a draft)

gvanrossum reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

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

@kumaraditya303
add wrapper
a6492e9
@kumaraditya303
kumaraditya303 force-pushed the async-wrap branch from 3d473b8 to a6492e9 Compare March 10, 2023 09:49
kumaraditya303 added 2 commits March 10, 2023 09:57
@kumaraditya303
inline it
7fecb6f
@kumaraditya303
add test
89524c5
@kumaraditya303
kumaraditya303 force-pushed the async-wrap branch from d880487 to 89524c5 Compare March 10, 2023 10:08
graingert
graingert reviewed Mar 10, 2023
View reviewed changes
Comment thread Lib/asyncio/tasks.py Resolved

Uh oh!

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

kumaraditya303 and others added 2 commits March 10, 2023 13:12
@kumaraditya303
fix tests
046458f
@blurb-it
📜🤖 Added by blurb_it.
dddb7bd
@kumaraditya303
kumaraditya303 marked this pull request as ready for review March 10, 2023 13:51
@kumaraditya303 kumaraditya303 removed the skip news label Mar 10, 2023
@kumaraditya303
kumaraditya303 requested a review from gvanrossum March 15, 2023 16:23
@kumaraditya303 kumaraditya303 changed the title GH-100112: wrap _wrap_awaitable as a coroutine in asyncio internally GH-100112: avoid using iterable coroutines in asyncio internally Mar 15, 2023
gvanrossum
gvanrossum approved these changes Mar 15, 2023
View reviewed changes

@gvanrossum gvanrossum left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks -- I finally understand the issue (thanks for the clarification and the example) and this looks right.

Sorry, something went wrong.

Uh oh!

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

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Mar 15, 2023
@kumaraditya303
kumaraditya303 merged commit a44553e into python:main Mar 16, 2023
@bedevere-bot bedevere-bot removed the awaiting merge label Mar 16, 2023
@kumaraditya303
kumaraditya303 deleted the async-wrap branch March 16, 2023 06:48
carljm added a commit to carljm/cpython that referenced this pull request Mar 17, 2023
@carljm
Merge branch 'main' into inlinecomp2
1a8f4a0
* main: (34 commits)
  pythongh-102701: Fix overflow in dictobject.c (pythonGH-102750)
  pythonGH-78530: add support for generators in `asyncio.wait` (python#102761)
  Increase stack reserve size for Windows debug builds to avoid test crashes (pythonGH-102764)
  pythongh-102755: Add PyErr_DisplayException(exc) (python#102756)
  Fix outdated note about 'int' rounding or truncating (python#102736)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102760)
  pythongh-99726: Improves correctness of stat results for Windows, and uses faster API when available (pythonGH-102149)
  pythongh-102192: remove redundant exception fields from ssl module socket (python#102466)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102743)
  pythongh-102737: Un-ignore ceval.c in the CI globals check (pythongh-102745)
  pythonGH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (python#102749)
  pythongh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` (python#102722)
  pythonGH-102653: Make recipe docstring show the correct distribution (python#102742)
  Add comments to `{typing,_collections_abc}._type_repr` about each other (python#102752)
  pythongh-102594: PyErr_SetObject adds note to exception raised on normalization error (python#102675)
  pythongh-94440: Fix issue of ProcessPoolExecutor shutdown hanging (python#94468)
  pythonGH-100112:  avoid using iterable coroutines in asyncio internally (python#100128)
  pythongh-102690: Use Edge as fallback in webbrowser instead of IE (python#102691)
  pythongh-102660: Fix Refleaks in import.c (python#102744)
  pythongh-102738: remove from cases generator the code related to register instructions (python#102739)
  ...
Fidget-Spinner pushed a commit to Fidget-Spinner/cpython that referenced this pull request Mar 27, 2023
@kumaraditya303 @Fidget-Spinner
pythonGH-100112: avoid using iterable coroutines in asyncio internally (
edd10d0
python#100128)
warsaw pushed a commit to warsaw/cpython that referenced this pull request Apr 11, 2023
@kumaraditya303 @warsaw
pythonGH-100112: avoid using iterable coroutines in asyncio internally (
5c8f788
python#100128)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@graingert graingert graingert left review comments
@gvanrossum gvanrossum gvanrossum 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

No one assigned

Labels

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.

4 participants

@kumaraditya303 @graingert @gvanrossum @bedevere-bot
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.