diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2023-01-19 23:04:14 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-19 23:04:14 (GMT) |
commit | 6036c3e856f033bf13e929536e7bf127fdd921c9 (patch) | |
tree | 2e0f92c60f4d860826e6e224e6c073e220d76386 /Modules/_threadmodule.c | |
parent | 8a2d4f4e8eea86352de37d2ce28117e13b3dfaed (diff) | |
download | cpython-6036c3e856f033bf13e929536e7bf127fdd921c9.zip cpython-6036c3e856f033bf13e929536e7bf127fdd921c9.tar.gz cpython-6036c3e856f033bf13e929536e7bf127fdd921c9.tar.bz2 |
gh-59956: Clarify GILState-related Code (gh-101161)
The objective of this change is to help make the GILState-related code easier to understand. This mostly involves moving code around and some semantically equivalent refactors. However, there are a also a small number of slight changes in structure and behavior:
* tstate_current is moved out of _PyRuntimeState.gilstate
* autoTSSkey is moved out of _PyRuntimeState.gilstate
* autoTSSkey is initialized earlier
* autoTSSkey is re-initialized (after fork) earlier
https://github.com/python/cpython/issues/59956
Diffstat (limited to 'Modules/_threadmodule.c')
-rw-r--r-- | Modules/_threadmodule.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index 80f467a..bf4b6ec 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -1074,13 +1074,7 @@ thread_run(void *boot_raw) PyThreadState *tstate; tstate = boot->tstate; - tstate->thread_id = PyThread_get_thread_ident(); -#ifdef PY_HAVE_THREAD_NATIVE_ID - tstate->native_thread_id = PyThread_get_thread_native_id(); -#else - tstate->native_thread_id = 0; -#endif - _PyThreadState_SetCurrent(tstate); + _PyThreadState_Bind(tstate); PyEval_AcquireThread(tstate); tstate->interp->threads.count++; |