[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:
- Add test_pre_initialization_api()
- Set PYTHONIOENCODING environment variable in
test_forced_io_encoding()
(cherry picked from commit b4d1e1f)