New submission from STINNER Victor <vstin...@redhat.com>:
PyEval_ReInitThreads() is used internally by PyOS_AfterFork_Child(). I don't see the point of calling it directly. If you care of threads after fork, just call PyOS_AfterFork_Child(), no? I propose to remove PyEval_ReInitThreads() from the public C API. Problem: it's documented as a public function in High-level API of the Python Initialization API: https://docs.python.org/dev/c-api/init.html#c.PyEval_ReInitThreads On the Internet, I found a single project calling directly this function, but it's only in a test used to the test Python threading API: https://github.com/DataDog/go-python3/blob/master/thread_test.go func TestThreadInitialization(t *testing.T) { Py_Initialize() PyEval_InitThreads() assert.True(t, PyEval_ThreadsInitialized()) PyEval_ReInitThreads() } I don't think that the PyEval_ReInitThreads() call here makes any sense. ---------- components: Interpreter Core messages: 340868 nosy: vstinner priority: normal severity: normal status: open title: Remove PyEval_ReInitThreads() from the public C API versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36728> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com