Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-100112: avoid using iterable coroutines in asyncio internally #100128

Merged
merged 5 commits into from
Mar 16, 2023

Conversation

kumaraditya303
Copy link
Contributor

@kumaraditya303 kumaraditya303 commented Dec 9, 2022

Copy link
Member

@gvanrossum gvanrossum left a 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.

@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
Copy link
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)

Lib/asyncio/tasks.py Outdated Show resolved Hide resolved
@kumaraditya303 kumaraditya303 marked this pull request as ready for review March 10, 2023 13:51
@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
Copy link
Member

@gvanrossum gvanrossum left a 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.

carljm added a commit to carljm/cpython that referenced this pull request Mar 17, 2023
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants