{{ message }}
GH-116738: document thread-safety of bisect - #136555
Merged
Merged
Conversation
picnixz
reviewed
Jul 11, 2025
Member
There was a problem hiding this comment.
Possible suggestions:
- Use a
.. note::if you think users should know about it. - Use a
.. warning::if you think users should be careful about it. - Do not use either of them if you think it's just good that users know about it (a note or a warning is quite visible in the sense that it creates a box where the entire content is inside that box).
- Use a subsection about thread-safetiness. Or use a small warning box just saying that the functions are not thread-safe, and add a link to a section at the bottom of the page that contains more detailed explanations.
cc @hugovk
Member
Author
nascheme
marked this pull request as ready for review
July 14, 2025 18:50
rhettinger
removed their request for review
July 15, 2025 03:17
| @@ -0,0 +1,57 @@ | |||
| import unittest | |||
| from test.support import import_helper, threading_helper | |||
| from threading import Thread, Barrier | |||
Contributor
There was a problem hiding this comment.
Suggested change
| from threading import Thread, Barrier |
this would fix lint CI
kumaraditya303
approved these changes
Jul 24, 2025
nascheme
enabled auto-merge (squash)
July 30, 2025 02:21
|
Thanks @nascheme for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14. |
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Jul 30, 2025
(cherry picked from commit 5236b02) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Jul 30, 2025
(cherry picked from commit 5236b02) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
|
GH-137221 is a backport of this pull request to the 3.14 branch. |
|
GH-137222 is a backport of this pull request to the 3.13 branch. |
kumaraditya303
added a commit
that referenced
this pull request
Jul 30, 2025
hugovk
pushed a commit
that referenced
this pull request
Jul 30, 2025
Agent-Hellboy
pushed a commit
to Agent-Hellboy/cpython
that referenced
this pull request
Aug 19, 2025
kumaraditya303
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Sep 9, 2025
…6555) (python#137221) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

I don't think it makes sense to make these functions thread-safe. They are already unsafe when used in the default build. And, given that they can operate on any sequence object, trying to lock the sequence object doesn't make sense.
I added a unit test because I believe these functions should not crash or produce TSAN warnings when they are used on a sequence being mutated in another thread.
📚 Documentation preview 📚: https://cpython-previews--136555.org.readthedocs.build/