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
Py_IsInitialized() can return 1 before Py_InitializeEx() has completed. #146302
The race condition is more easily noticed if site.py takes a while to execute as the internal "initialized" flag is set to 1 before the site import.
Example impact? PyO3 has to jump through some hoops to avoid problems here in embedding scenarios where multiple threads all want to use an interpreter (most often test suites, resulting in some flaky tests). PyO3/pyo3#5903
We document Py_IsInitialized() as safe to call at any time and as being accurate. It is technically safe, but it isn't currently accurate.
Activity
pythongh-146302: make Py_IsInitialized() thread-safe and reflect true…
Add regression test: Py_IsInitialized() must be false during site import
Merge branch 'main' into pythongh-146302-py-isinitialized-thread-safe
gh-146302: make Py_IsInitialized() thread-safe and reflect true init …
gpshead commentedon Apr 12, 2026
not backporting based on this conversation: #146303 (comment)
pythongh-146302: make Py_IsInitialized() thread-safe and reflect true…