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

bpo-33257: Fix race conditions for non-threaded Tcl #6444

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

native-api
Copy link
Contributor

@native-api native-api commented Apr 10, 2018

@serhiy-storchaka serhiy-storchaka self-requested a review April 11, 2018 07:27
@serhiy-storchaka serhiy-storchaka added type-bug An unexpected behavior, bug, or error needs backport to 3.6 labels Apr 11, 2018
@native-api native-api force-pushed the tcltk_race_master branch 2 times, most recently from 3b1402d to efa3bc6 Compare April 13, 2018 17:54
@native-api native-api force-pushed the tcltk_race_master branch from ab9865d to d5e1608 Compare May 12, 2018 01:26
@native-api native-api force-pushed the tcltk_race_master branch from d5e1608 to a8833d3 Compare May 17, 2018 11:56
@native-api native-api changed the title bpo-33257: Fix race conditions for non-threaded Tcl when passing data to/from it bpo-33257: Fix race conditions for non-threaded Tcl May 17, 2018
@native-api native-api force-pushed the tcltk_race_master branch from a8833d3 to 3ee8e77 Compare May 17, 2018 12:00
@native-api
Copy link
Contributor Author

native-api commented May 17, 2018

Comments on decisions:

  • Placed reentrant lock logic directly into Tkinter 'cuz reentrant locks aren't used anywhere else, and this is easier than overhauling all 4 PyThread lock implementations. (They're also based on condition variables which don't support reentrance.)
  • Pushed both fixes to the same PR 'cuz the test case based on TkinterHanders3.py detects both bugs and would fail CI otherwise
  • Reentry count overflow check can probably be replaced by an assert: unless there's a bug, we'll sooner hit RecursionError or MemoryError.

Test case has code nonportable to Py2. Shall I make it portable or compose a backport by hand?

@native-api native-api force-pushed the tcltk_race_master branch from 3ee8e77 to 534c57d Compare May 17, 2018 12:40
@native-api
Copy link
Contributor Author

native-api commented May 17, 2018

Test failures on MacOS in acyncio are caused by https://bugs.python.org/issue33531 .

@bedevere-bot
Copy link

GH-6972 is a backport of this pull request to the 2.7 branch.

@vstinner
Copy link
Member

I removed the " needs backport to 3.6" label, the 3.6 branch no longer accept bugfixes (only security fixes are accepted): https://devguide.python.org/#status-of-python-branches

@github-actions
Copy link

This PR is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale Stale PR or inactive for long period of time. label Aug 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting review stale Stale PR or inactive for long period of time. type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants