diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2023-01-30 19:07:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-30 19:07:48 (GMT) |
commit | e11fc032a75d067d2167a21037722a770b9dfb51 (patch) | |
tree | a9e1b00b661f5ccc131f62f161d2963737bcf03c /Modules | |
parent | ea232716d3de1675478db3a302629ba43194c967 (diff) | |
download | cpython-e11fc032a75d067d2167a21037722a770b9dfb51.zip cpython-e11fc032a75d067d2167a21037722a770b9dfb51.tar.gz cpython-e11fc032a75d067d2167a21037722a770b9dfb51.tar.bz2 |
gh-59956: Clarify Runtime State Status Expectations (gh-101308)
A PyThreadState can be in one of many states in its lifecycle, represented by some status value. Those statuses haven't been particularly clear, so we're addressing that here. Specifically:
* made the distinct lifecycle statuses clear on PyThreadState
* identified expectations of how various lifecycle-related functions relate to status
* noted the various places where those expectations don't match the actual behavior
At some point we'll need to address the mismatches.
(This change also includes some cleanup.)
https://github.com/python/cpython/issues/59956
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_threadmodule.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index bf4b6ec..9c12c69 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -1161,7 +1161,7 @@ thread_PyThread_start_new_thread(PyObject *self, PyObject *fargs) return PyErr_NoMemory(); } boot->interp = _PyInterpreterState_GET(); - boot->tstate = _PyThreadState_Prealloc(boot->interp); + boot->tstate = _PyThreadState_New(boot->interp); if (boot->tstate == NULL) { PyMem_Free(boot); if (!PyErr_Occurred()) { |