diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-12-31-23-32-09.gh-issue-100649.C0fY4S.rst b/Misc/NEWS.d/next/Core and Builtins/2022-12-31-23-32-09.gh-issue-100649.C0fY4S.rst new file mode 100644 index 00000000000..7ee929ad09f --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-12-31-23-32-09.gh-issue-100649.C0fY4S.rst @@ -0,0 +1 @@ +Update the native_thread_id field of PyThreadState after fork. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 2dfed7c583c..150bb78cb41 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -591,6 +591,10 @@ PyOS_AfterFork_Child(void) PyThreadState *tstate = _PyThreadState_GET(); _Py_EnsureTstateNotNULL(tstate); +#ifdef PY_HAVE_THREAD_NATIVE_ID + tstate->native_thread_id = PyThread_get_thread_native_id(); +#endif + status = _PyEval_ReInitThreads(tstate); if (_PyStatus_EXCEPTION(status)) { goto fatal_error;