aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/pystate.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index bca28cebcc9..78b39c9a577 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -1568,6 +1568,17 @@ new_threadstate(PyInterpreterState *interp, int whence)
// Must be called with lock unlocked to avoid re-entrancy deadlock.
PyMem_RawFree(new_tstate);
}
+ else {
+#ifdef Py_GIL_DISABLED
+ if (interp->gc.immortalize.enable_on_thread_created &&
+ !interp->gc.immortalize.enabled)
+ {
+ // Immortalize objects marked as using deferred reference counting
+ // the first time a non-main thread is created.
+ _PyGC_ImmortalizeDeferredObjects(interp);
+ }
+#endif
+ }
#ifdef Py_GIL_DISABLED
// Must be called with lock unlocked to avoid lock ordering deadlocks.