From 04d0e6128f90d5ef55af8633c81e525024938f54 Mon Sep 17 00:00:00 2001 From: "Gabriele N. Tornetta" Date: Sun, 1 Jan 2023 14:20:38 +0000 Subject: [PATCH] gh-100649: Update native_thread_id after fork (gh-100650) Update native_thread_id after fork (cherry picked from commit d52d4942cfdd52a50f88b87b1ff2a67375dbcf47) Co-authored-by: Gabriele N. Tornetta --- .../2022-12-31-23-32-09.gh-issue-100649.C0fY4S.rst | 1 + Modules/posixmodule.c | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-12-31-23-32-09.gh-issue-100649.C0fY4S.rst 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 00000000000000..7ee929ad09fb5a --- /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 2dfed7c583c461..150bb78cb41c81 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;