Message340868
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. |
|
Date |
User |
Action |
Args |
2019-04-25 23:22:09 | vstinner | set | recipients:
+ vstinner |
2019-04-25 23:22:09 | vstinner | set | messageid: <1556234529.34.0.747871379917.issue36728@roundup.psfhosted.org> |
2019-04-25 23:22:09 | vstinner | link | issue36728 messages |
2019-04-25 23:22:09 | vstinner | create | |
|