You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TypedPython: a compiled module re-enables the GIL on a free-threaded build #159
tp_runtime.h declares no Py_mod_gil slot, so importing any compiled module into 3.14t makes CPython re-enable the GIL for the whole process (its own comment says so: tp_globals_epoch and class caches rely on GIL serialisation). Parallelism (AGENTS §12.8, #151) silently disappears.
Work: make the runtime safe without the GIL (atomic epoch, per-module state, Py_BEGIN_CRITICAL_SECTION around array copy-in and write-back; decide #152 together), then declare Py_MOD_GIL_NOT_USED.
Completion: a test that fails today: on desktop 3.14t, import a compiled module and assert sys._is_gil_enabled() is False; plus the existing suite green on 3.14t. Depends on the decision in the free-threaded readiness issue.
Activity
b-re-w commentedon Oct 3, 2026
Scope added (leader decision, 2026-10-04):
tp_poll_countdown,tp_snapshot_depth) becomes per thread.Py_BEGIN_CRITICAL_SECTION2for two; a fixed order beyond that).Merge pull request #209 from thisisthepy/feat/tp-free-threaded
b-re-w commentedon Oct 17, 2026
Landed in develop via #209.