Michael Felt <aixto...@felt.demon.nl> added the comment:
OK. Please explain. Looking at tstate assignment In posixmodule.c:PyOSAfterFork_Child() PyStatus status; _PyRuntimeState *runtime = &_PyRuntime; ... PyThreadState *tstate = _PyThreadState_GET(); and later calls status = _PyRuntimeState_ReInitThreads(runtime); Yet in Posix/ceval.c PyStatus _PyEval_ReInitThreads(PyThreadState *tstate) { _PyRuntimeState *runtime = tstate->interp->runtime; ** this looks like runtime->interp->runtime And then we get down to: /* Destroy all threads except the current one */ _PyThreadState_DeleteExcept(runtime, tstate); Is this correct - as it looks like: _PyThreadState_DeleteExcept(runtime->interp->runtime, runtime) -- where runtime == &_PyRuntime; ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40092> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com