This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients vstinner
Date 2019-04-25.23:22:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
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:

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:

func TestThreadInitialization(t *testing.T) {

	assert.True(t, PyEval_ThreadsInitialized())


I don't think that the PyEval_ReInitThreads() call here makes any sense.
Date User Action Args
2019-04-25 23:22:09vstinnersetrecipients: + vstinner
2019-04-25 23:22:09vstinnersetmessageid: <>
2019-04-25 23:22:09vstinnerlinkissue36728 messages
2019-04-25 23:22:09vstinnercreate