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 — bpo-46771: cancel counts by Tinche · Pull Request #31434 · python/cpython

Conversation

@Tinche

@Tinche Tinche commented Feb 20, 2022 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor

Changes:

  • Task._cancel_requested: bool is now Task._num_cancels_requested: int
  • Task.cancelling now returns an int
  • Task.uncancel also returns an int, the number of remaining cancel requests
  • the CancelScope no longer cancels with a nonce
  • the CancelScope uncancels in __exit__, and propagates the CancelError if there are more cancel requests
  • CancelScope.cancelled is now a property
  • added a couple of tests, not final

I have not updated any of the comments or docs yet.

https://bugs.python.org/issue46771

Sorry, something went wrong.

Uh oh!

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

All reactions
@bedevere-bot bedevere-bot added the awaiting review label Feb 20, 2022
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Feb 20, 2022
@Tinche Tinche mentioned this pull request Feb 20, 2022
bpo-46771: Implement asyncio context managers for handling timeouts #31394
Merged
@asvetlov asvetlov changed the title Issue 46771 cancel counts bpo-46771: cancel counts Feb 20, 2022
Tinche added 4 commits February 20, 2022 23:59
@Tinche
CancelScope to dataclass
be81356
@Tinche
Make some CancelScope fields init=False
9391940
@Tinche
Implement num_cancels_requested
17e4c9e
@Tinche
Remove stray debug var
b32bbf9
@Tinche
Tinche force-pushed the issue-46771-cancel-counts branch from 4526894 to b32bbf9 Compare February 20, 2022 23:03
Tinche added 2 commits February 21, 2022 00:08
@Tinche
Fix tests
72d6682
@Tinche
Rebase cleanup
1c87091
@asvetlov

asvetlov commented Feb 20, 2022

Copy link
Copy Markdown
Contributor

I like it!
Please feel free to press 'Merge' when you are ready.

All reactions

Sorry, something went wrong.

Uh oh!

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

@Tinche

Tinche commented Feb 20, 2022

Copy link
Copy Markdown
Contributor Author

@asvetlov this is a competing proposal to using the _COUNTERS dict, so maybe we should discuss this further? This makes the cancel count be on the task, instead of in the dict.

All reactions

Sorry, something went wrong.

Uh oh!

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

@asvetlov

asvetlov commented Feb 20, 2022

Copy link
Copy Markdown
Contributor

I understand.
I have a feeling that your approach is better, it doesn't throw TimeoutError if the task was explicitly cancelled.

All reactions

Sorry, something went wrong.

Uh oh!

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

@Tinche
Tinche marked this pull request as ready for review February 20, 2022 23:59
@Tinche
Tinche requested review from 1st1 and asvetlov as code owners February 20, 2022 23:59
@Tinche

Tinche commented Feb 21, 2022

Copy link
Copy Markdown
Contributor Author

@asvetlov Cool, but you'll need to merge this :)

All reactions

Sorry, something went wrong.

Uh oh!

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

@asvetlov
asvetlov merged commit a926bf0 into python:issue-46771 Feb 21, 2022
@bedevere-bot bedevere-bot removed the awaiting review label Feb 21, 2022
@bedevere-bot

bedevere-bot commented Feb 21, 2022

Copy link
Copy Markdown

@asvetlov: Please replace # with GH- in the commit message next time. Thanks!

All reactions

Sorry, something went wrong.

Uh oh!

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

@asvetlov

asvetlov commented Feb 21, 2022

Copy link
Copy Markdown
Contributor

Done. Thanks!

All reactions

Sorry, something went wrong.

Uh oh!

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

@asvetlov
asvetlov deleted the issue-46771-cancel-counts branch February 21, 2022 00:10
@gvanrossum gvanrossum mentioned this pull request May 24, 2022
Implement asyncio.timeout() context manager #90927
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@1st1 1st1 Awaiting requested review from 1st1
@asvetlov asvetlov Awaiting requested review from asvetlov

Uh oh!

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

Assignees

No one assigned

Labels

None yet

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

@Tinche @asvetlov @bedevere-bot @the-knights-who-say-ni
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.