[Python-checkins] bpo-40513: new_interpreter() init GIL earlier (GH-19942)

Victor Stinner webhook-mailer at python.org
Tue May 5 14:16:46 EDT 2020


https://github.com/python/cpython/commit/0dd5e7a718997da2026ed64fe054dc36cae4fee7
commit: 0dd5e7a718997da2026ed64fe054dc36cae4fee7
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-05-05T20:16:37+02:00
summary:

bpo-40513: new_interpreter() init GIL earlier (GH-19942)

Fix also code to handle init_interp_main() failure.

files:
M Python/pylifecycle.c

diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 5726a559cfcb7..2149d8928d596 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1575,19 +1575,19 @@ new_interpreter(PyThreadState **tstate_p, int isolated_subinterpreter)
     }
     interp->config._isolated_interpreter = isolated_subinterpreter;
 
-    status = pycore_interp_init(tstate);
+    status = init_interp_create_gil(tstate);
     if (_PyStatus_EXCEPTION(status)) {
         goto error;
     }
 
-    status = init_interp_main(tstate);
+    status = pycore_interp_init(tstate);
     if (_PyStatus_EXCEPTION(status)) {
         goto error;
     }
 
-    status = init_interp_create_gil(tstate);
+    status = init_interp_main(tstate);
     if (_PyStatus_EXCEPTION(status)) {
-        return status;
+        goto error;
     }
 
     *tstate_p = tstate;



More information about the Python-checkins mailing list