Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

gh-127266: avoid data races when updating type slots v2 #133177

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

Merged
merged 24 commits into from
May 28, 2025
Merged
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3094372
gh-127266: avoid data races when updating type slots
nascheme Apr 29, 2025
f447ce4
For update_all_slots(), do updates more safely.
nascheme Apr 29, 2025
d511ca6
Avoid "empty structure" compile error.
nascheme Apr 29, 2025
5e38497
Use apply_slot_updates() for type_setattro().
nascheme Apr 30, 2025
e9516c7
Merge 'origin/main' into type-slot-ts-v2
nascheme Apr 30, 2025
8c74a0c
Reduce number of items in test for slot updates.
nascheme Apr 30, 2025
6cd7644
Add TSAN suppression for _Py_slot_tp_getattr_hook.
nascheme Apr 30, 2025
3cb2256
Queue update of tp_flags as well.
nascheme Apr 30, 2025
47e41c9
Performance, skip stop-the-world when possible.
nascheme Apr 30, 2025
cb848f1
Merge 'origin/main' into type-slot-ts-v2
nascheme Apr 30, 2025
9859ebf
Always clear version after __bases__ update.
nascheme May 1, 2025
6c74cac
Merge 'origin/main' into type-slot-ts-v2
nascheme May 1, 2025
583c435
Add test for assigning __bases__.
nascheme May 1, 2025
c01707e
Avoid releasing TYPE_LOCK when stopping the world.
nascheme May 1, 2025
1b9cad5
Merge 'origin/main' into type-slot-ts-v2
nascheme May 5, 2025
a1c6b05
Add issue number for TSAN suppression.
nascheme May 5, 2025
3f6222b
Bug fix for type_lock_prevent_release().
nascheme May 5, 2025
6f218fb
Merge 'origin/main' into type-slot-ts-v2
nascheme May 8, 2025
2bcf7ba
Add additional assert.
nascheme May 27, 2025
ddfdbd5
Merge 'origin/main' into type-slot-ts-v2
nascheme May 27, 2025
63b7ae4
Revert test_opcache item size change.
nascheme May 27, 2025
1a2fee1
Add comment for new unit test.
nascheme May 27, 2025
c1f3ed5
Fix assert for default build.
nascheme May 27, 2025
41e54e1
Improve function name.
nascheme May 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add comment for new unit test.
  • Loading branch information
nascheme committed May 27, 2025
commit 1a2fee1048b292f9b30d491f2cb3d313b9976b7c
2 changes: 2 additions & 0 deletions 2 Lib/test/test_descr.py
Original file line number Diff line number Diff line change
Expand Up @@ -4115,6 +4115,8 @@ class E(D):
self.fail("shouldn't be able to create inheritance cycles")

def test_assign_bases_many_subclasses(self):
# This is intended to check that typeobject.c:queue_slot_update() can
# handle updating many subclasses when a slot method is re-assigned.
class A:
x = 'hello'
def __call__(self):
Expand Down
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.