mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
GH-99205: Mark new interpreters and threads as non-static (GH-99268)
This commit is contained in:
parent
58ee5d8677
commit
283ab0e1c0
2 changed files with 10 additions and 0 deletions
|
@ -356,6 +356,7 @@ PyInterpreterState_New(void)
|
|||
interp = &runtime->_main_interpreter;
|
||||
assert(interp->id == 0);
|
||||
assert(interp->next == NULL);
|
||||
assert(interp->_static);
|
||||
|
||||
interpreters->main = interp;
|
||||
}
|
||||
|
@ -370,6 +371,9 @@ PyInterpreterState_New(void)
|
|||
// Set to _PyInterpreterState_INIT.
|
||||
memcpy(interp, &initial._main_interpreter,
|
||||
sizeof(*interp));
|
||||
// We need to adjust any fields that are different from the initial
|
||||
// interpreter (as defined in _PyInterpreterState_INIT):
|
||||
interp->_static = false;
|
||||
|
||||
if (id < 0) {
|
||||
/* overflow or Py_Initialize() not called yet! */
|
||||
|
@ -837,6 +841,7 @@ new_threadstate(PyInterpreterState *interp)
|
|||
assert(id == 1);
|
||||
used_newtstate = 0;
|
||||
tstate = &interp->_initial_thread;
|
||||
assert(tstate->_static);
|
||||
}
|
||||
else {
|
||||
// Every valid interpreter must have at least one thread.
|
||||
|
@ -848,6 +853,9 @@ new_threadstate(PyInterpreterState *interp)
|
|||
memcpy(tstate,
|
||||
&initial._main_interpreter._initial_thread,
|
||||
sizeof(*tstate));
|
||||
// We need to adjust any fields that are different from the initial
|
||||
// thread (as defined in _PyThreadState_INIT):
|
||||
tstate->_static = false;
|
||||
}
|
||||
interp->threads.head = tstate;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue