mirror of
https://github.com/python/cpython.git
synced 2025-10-17 12:18:23 +00:00
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
This commit is contained in:
parent
8a2d4f4e8e
commit
6036c3e856
10 changed files with 373 additions and 250 deletions
|
@ -33,6 +33,9 @@ extern "C" {
|
|||
until _PyInterpreterState_Enable() is called. */ \
|
||||
.next_id = -1, \
|
||||
}, \
|
||||
/* A TSS key must be initialized with Py_tss_NEEDS_INIT \
|
||||
in accordance with the specification. */ \
|
||||
.autoTSSkey = Py_tss_NEEDS_INIT, \
|
||||
.parser = _parser_runtime_state_INIT, \
|
||||
.imports = { \
|
||||
.lock = { \
|
||||
|
@ -49,9 +52,6 @@ extern "C" {
|
|||
}, \
|
||||
.gilstate = { \
|
||||
.check_enabled = 1, \
|
||||
/* A TSS key must be initialized with Py_tss_NEEDS_INIT \
|
||||
in accordance with the specification. */ \
|
||||
.autoTSSkey = Py_tss_NEEDS_INIT, \
|
||||
}, \
|
||||
.dtoa = _dtoa_runtime_state_INIT(runtime), \
|
||||
.fileutils = { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue