mirror of
https://github.com/python/cpython.git
synced 2025-07-14 06:45:17 +00:00
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
This commit is contained in:
parent
ea232716d3
commit
e11fc032a7
6 changed files with 426 additions and 176 deletions
|
@ -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()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue