Kaydet (Commit) f2c6db5f authored tarafından Stefan Krah's avatar Stefan Krah

Issue #12090: backport 79fcd71d0356

üst 988512cf
...@@ -17,7 +17,9 @@ void print_subinterp(void) ...@@ -17,7 +17,9 @@ void print_subinterp(void)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
PyThreadState *mainstate, *substate; PyThreadState *mainstate, *substate;
#ifdef WITH_THREAD
PyGILState_STATE gilstate; PyGILState_STATE gilstate;
#endif
int i, j; int i, j;
for (i=0; i<3; i++) { for (i=0; i<3; i++) {
...@@ -28,10 +30,12 @@ int main(int argc, char *argv[]) ...@@ -28,10 +30,12 @@ int main(int argc, char *argv[])
Py_Initialize(); Py_Initialize();
mainstate = PyThreadState_Get(); mainstate = PyThreadState_Get();
#ifdef WITH_THREAD
PyEval_InitThreads(); PyEval_InitThreads();
PyEval_ReleaseThread(mainstate); PyEval_ReleaseThread(mainstate);
gilstate = PyGILState_Ensure(); gilstate = PyGILState_Ensure();
#endif
print_subinterp(); print_subinterp();
PyThreadState_Swap(NULL); PyThreadState_Swap(NULL);
...@@ -43,7 +47,9 @@ int main(int argc, char *argv[]) ...@@ -43,7 +47,9 @@ int main(int argc, char *argv[])
PyThreadState_Swap(mainstate); PyThreadState_Swap(mainstate);
print_subinterp(); print_subinterp();
#ifdef WITH_THREAD
PyGILState_Release(gilstate); PyGILState_Release(gilstate);
#endif
PyEval_RestoreThread(mainstate); PyEval_RestoreThread(mainstate);
Py_Finalize(); Py_Finalize();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment