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.
gh-114940: Use fine-grained mutex protection for
PyInterpreterState.threads
#125561New 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-114940: Use fine-grained mutex protection for
PyInterpreterState.threads
#125561Changes from 18 commits
414cfef
0c815fc
f5ec949
b595153
2378caa
9cb2de0
afbaf04
29c4ccb
462f97d
8146b6f
74cc060
f30b2b1
8e0d324
1f488c7
c99e44e
7ad9c32
2131d69
7bf9a1c
b947bc9
46c2709
3c208c2
2bb60d9
3798bed
5dc1ced
18fbaa0
6257837
4b9a569
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
I think @ericsnowcurrently pointed this out in a different comment, but we should not change where the lock/unlocks happen in this PR.
The existing code has a race condition, but holding the lock across the
PyThreadState_Clear()
call risks deadlock (see the code comment below).