]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-98608: Fix Failure-handling in new_interpreter() (gh-102658)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 21 Mar 2023 19:13:31 +0000 (12:13 -0700)
committerGitHub <noreply@github.com>
Tue, 21 Mar 2023 19:13:31 +0000 (12:13 -0700)
commit4c6b354699c2967879b9c99fe247c4d97f0e31f9
tree350e95f49a6102e90037564025bcee6ef57afc12
parente6e3b1b27d08bfe77b5e19b41fbb006fe7bfed36
gh-98608: Fix Failure-handling in new_interpreter() (gh-102658)

The error-handling code in new_interpreter() has been broken for a while.  We hadn't noticed because those code mostly doesn't fail.  (I noticed while working on gh-101660.)  The problem is that we try to clear/delete the newly-created thread/interpreter using itself, which just failed.  The solution is to switch back to the calling thread state first.

(cherry picked from commit d1b883b52a99427d234c20e4a92ddfa6a1da8880)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
https: //github.com/python/cpython/issues/98608
Python/pylifecycle.c