From: Victor Stinner Date: Tue, 5 May 2020 18:16:37 +0000 (+0200) Subject: bpo-40513: new_interpreter() init GIL earlier (GH-19942) X-Git-Tag: v3.9.0b1~165 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0dd5e7a718997da2026ed64fe054dc36cae4fee7;p=thirdparty%2FPython%2Fcpython.git bpo-40513: new_interpreter() init GIL earlier (GH-19942) Fix also code to handle init_interp_main() failure. --- diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 5726a559cfcb..2149d8928d59 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;