[3.12] gh-102512: Turn _DummyThread into _MainThread after os.fork() called from a foreign thread (GH-113261) (GH-114430)
Always set a _MainThread as a main thread after os.fork() is called from a thread started not by the threading module. A new _MainThread was already set as a new main thread after fork if threading.current_thread() was not called for a foreign thread before fork. Now, if it was called before fork, the implicitly created _DummyThread will be turned into _MainThread after fork. It fixes, in particularly, an incompatibility of _DummyThread with the threading shutdown logic which relies on the main thread having tstate_lock. (cherry picked from commit 49785b06ded19c7c4afce186bac90fea707470ea) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
M
Miss Islington (bot) committed
1bd2c93474792dae99664a43cfb70120a809c05d
Parent: d1f731f
Committed by GitHub <noreply@github.com>
on 1/22/2024, 3:24:43 PM