[3.6] bpo-20891: Fix PyGILState_Ensure() (#4650) by vstinner · Pull Request #4655 · python/cpython (original) (raw)

When PyGILState_Ensure() is called in a non-Python thread before
PyEval_InitThreads(), only call PyEval_InitThreads() after calling
PyThreadState_New() to fix a crash.

Add an unit test in test_embed.

Enhance also embedded tests, backport from master:

(cherry picked from commit b4d1e1f)

https://bugs.python.org/issue20891