Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
43b0798
Copy the reference implementation.
ZeroIntensity Apr 28, 2026
722dbdf
Merge branch 'main' of https://github.com/python/cpython into pep-788
ZeroIntensity Apr 28, 2026
73cccbb
Document the new APIs.
ZeroIntensity Apr 28, 2026
25e1cf0
Add a whatsnew entry.
ZeroIntensity Apr 28, 2026
af1022a
Fix stable ABI things.
ZeroIntensity Apr 28, 2026
2fb8419
Fix test_embed.
ZeroIntensity Apr 28, 2026
1096a32
SIlly news entry.
ZeroIntensity Apr 28, 2026
407062f
Documentation fixes.
ZeroIntensity Apr 28, 2026
a33bdfc
Make the sentinel const instead of changing the C analyzer.
ZeroIntensity Apr 28, 2026
c504a9f
Fix the html IDs job.
ZeroIntensity Apr 28, 2026
f95bfc7
Merge branch 'main' into pep-788
encukou Apr 29, 2026
a00bfbb
Apply suggestions from code review
ZeroIntensity Apr 29, 2026
6ca2499
Update Doc/c-api/threads.rst
ZeroIntensity Apr 29, 2026
74259f8
Fix lint and remove dead comment.
ZeroIntensity Apr 29, 2026
eff9b40
Improve new PyThreadState API docs.
ZeroIntensity Apr 29, 2026
bc78c10
Fix lint.
ZeroIntensity Apr 29, 2026
0a30c25
Apply suggestions from code review
ZeroIntensity Apr 30, 2026
fe3d8a1
Update Doc/c-api/threads.rst
ZeroIntensity Apr 30, 2026
ad69f96
Fix line endings.
ZeroIntensity Apr 30, 2026
1623556
Remove accidental formatting changes.
ZeroIntensity Apr 30, 2026
cad8786
Fix memory ordering for the event reset.
ZeroIntensity Apr 30, 2026
e042656
Improve NO_TSTATE_SENTINEL.
ZeroIntensity Apr 30, 2026
6a05c90
Fix some test things.
ZeroIntensity Apr 30, 2026
728ee3a
Remove note about deallocation.
ZeroIntensity Apr 30, 2026
d9e1170
Explicitly mark implementation details in the docs.
ZeroIntensity Apr 30, 2026
2f824d3
Add missing versionadded markers.
ZeroIntensity Apr 30, 2026
ab9d783
Remove dead comment.
ZeroIntensity Apr 30, 2026
10e241e
Merge branch 'main' of https://github.com/python/cpython into pep-788
ZeroIntensity Apr 30, 2026
25687af
Some improvements to PyThreadState_Release() based on review.
ZeroIntensity May 1, 2026
6d3b40a
Add a comment.
ZeroIntensity May 1, 2026
0c08141
Remove _ prefix from struct names.
ZeroIntensity May 1, 2026
31f1155
Only issue a fatal error for KeyboardInterrupt.
ZeroIntensity May 1, 2026
6c62b40
Don't use a full PyThreadState for NO_TSTATE_SENTINEL on release builds.
ZeroIntensity May 1, 2026
d8ce02d
Fix race during event spinning.
ZeroIntensity May 1, 2026
e105120
Merge branch 'main' of https://github.com/python/cpython into pep-788
ZeroIntensity May 1, 2026
eb73203
Merge in the main branch
encukou May 4, 2026
09a0d69
Switch to PyThreadStateToken
encukou May 4, 2026
5a3f808
Remove ensure_tstate_is_valid
encukou May 4, 2026
d43ba9d
Merge in the main branch
encukou May 4, 2026
9a04e93
Apply suggestions from code review
ZeroIntensity May 4, 2026
a382721
Simply exit instead of emitting a fatal error upon CTRL^C.
ZeroIntensity May 4, 2026
03862fb
Hardcode zero as the main interpreter ID.
ZeroIntensity May 4, 2026
df720a5
Fix leak in get_main_interp_guard.
ZeroIntensity May 4, 2026
767c894
Improve readability and fix warning.
ZeroIntensity May 4, 2026
38a2153
Use void instead of a struct for PyThreadStateToken.
ZeroIntensity May 4, 2026
321c783
Run test_embed with TSan.
ZeroIntensity May 4, 2026
811ca19
Switch to a single atomic field instead of using locks and events.
ZeroIntensity May 5, 2026
ac58a16
Fix existing thread-safety issue with interp_has_threads().
ZeroIntensity May 5, 2026
4ced3a1
Use the parking lot to avoid eating CPU cycles.
ZeroIntensity May 5, 2026
9345afd
Stupid merge conflicts.
ZeroIntensity May 5, 2026
11cbe5c
Fix C analyzer.
ZeroIntensity May 5, 2026
99098d7
Stupid warnings.
ZeroIntensity May 5, 2026
1c184f1
Fix thread leaks in test_embed.
ZeroIntensity May 5, 2026
af57d9d
Fix deadlock in test_atexit.
ZeroIntensity May 5, 2026
7289037
Fix missing newline.
ZeroIntensity May 5, 2026
a538acc
Remove stray newline change from pycore_lock.h
ZeroIntensity May 5, 2026
4bec1e7
Use sequential memory ordering in _testembed.
ZeroIntensity May 5, 2026
5d28e1a
Potentially fix some things?
ZeroIntensity May 5, 2026
62b137e
Add a test stressing a lot of threads against finalization.
ZeroIntensity May 5, 2026
2378c88
Export _Py_yield.
ZeroIntensity May 5, 2026
e7466f1
Fix race in interp_has_threads.
ZeroIntensity May 5, 2026
5d797cf
Fix formatting.
ZeroIntensity May 5, 2026
5f1d2e0
Merge branch 'main' of https://github.com/python/cpython into pep-788
ZeroIntensity May 5, 2026
4b446e7
Close owned guards before deleting them, not after.
ZeroIntensity May 5, 2026
b4db0a6
Add assertions to ensure that the guard count is zero upon reinitiali…
ZeroIntensity May 5, 2026
c43cae7
Move PyInterpreterGuard_Close call to after the deletion again.
ZeroIntensity May 5, 2026
5e25ba9
Update Python/pystate.c
ZeroIntensity May 5, 2026
08e845c
Update Python/pylifecycle.c
ZeroIntensity May 5, 2026
17b0e2a
Update Doc/c-api/interp-lifecycle.rst
ZeroIntensity May 5, 2026
f60d888
Use PyThreadStateToken in the example.
ZeroIntensity May 5, 2026
dd930ef
Merge branch 'pep-788' of https://github.com/zerointensity/cpython in…
ZeroIntensity May 5, 2026
7aa2f65
Fix swapped links the whatsnew.
ZeroIntensity May 5, 2026
541169d
Fix failure note + use affirmative tone in PyInterpreterView_FromMain…
ZeroIntensity May 5, 2026
d75e6d9
Remove usage of _Py_yield.
ZeroIntensity May 5, 2026
9f7b014
Fix issue with re-entrant clearing.
ZeroIntensity May 5, 2026
f9cb8f7
Remove needless calls to _PyThreadState_Attach/_PyThreadState_Detach.
ZeroIntensity May 5, 2026
29fa419
Simplify locking in make_pre_finalization_calls.
ZeroIntensity May 5, 2026
211edf1
Fix a few other bugs.
ZeroIntensity May 5, 2026
aaa516e
Move some tests to _testinternalcapi.
ZeroIntensity May 5, 2026
e1da86c
Add a test stressing detachment behavior.
ZeroIntensity May 5, 2026
95cdd3a
Fix unused test.
ZeroIntensity May 5, 2026
e203fd5
Release the GIL while joining the thread in test_thread_state_release…
ZeroIntensity May 5, 2026
3987445
Fix detached gilstates being attached upon release.
ZeroIntensity May 6, 2026
45d6ece
Don't use an actual thread for test_thread_state_release_with_destruc…
ZeroIntensity May 6, 2026
319b700
Remove dead comment.
ZeroIntensity May 6, 2026
a34dbc6
Fix the C analyzer yet again.
ZeroIntensity May 6, 2026
9e48209
Merge branch 'main' of https://github.com/python/cpython into pep-788
ZeroIntensity May 6, 2026
59e2d9a
Fix whatsnew reference.
ZeroIntensity May 6, 2026
7a6cc0c
Fix typos.
ZeroIntensity May 6, 2026
0945129
Fix test name.
ZeroIntensity May 6, 2026
c5148d1
Avoid using a second sentinel.
ZeroIntensity May 6, 2026
adb985f
Do the compare-exchange under the head lock.
ZeroIntensity May 6, 2026
53fa94b
Don't try to clear owned_guard in PyThreadState_Clear().
ZeroIntensity May 6, 2026
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
Fix test name.
  • Loading branch information
ZeroIntensity committed May 6, 2026
commit 09451291d2d76e9e08f45ba6f5d07c2caa925bc0
2 changes: 1 addition & 1 deletion Modules/_testcapimodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -3068,7 +3068,7 @@ static PyMethodDef TestMethods[] = {
{"create_managed_weakref_nogc_type",
create_managed_weakref_nogc_type, METH_NOARGS},
{"test_soft_deprecated_macros", test_soft_deprecated_macros, METH_NOARGS},
{"test_interpreter_lock", test_interpreter_guards, METH_NOARGS},
{"test_interpreter_guards", test_interpreter_guards, METH_NOARGS},
{"test_thread_state_ensure_nested", test_thread_state_ensure_nested, METH_NOARGS},
{"test_thread_state_ensure_crossinterp", test_thread_state_ensure_crossinterp, METH_NOARGS},
{"test_interp_view_after_shutdown", test_interp_view_after_shutdown, METH_NOARGS},
Expand Down