diff --git a/Misc/NEWS b/Misc/NEWS index f1551b12d89..ec30734f30d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,12 @@ What's New in Python 2.5 alpha 1? Core and builtins ----------------- +- It is now safe to call PyGILState_Release() before + PyEval_InitThreads() (note that if there is reason to believe there + are multiple threads around you still must call PyEval_InitThreads() + before using the Python API; this fix is for extension modules that + have no way of knowing if Python is multi-threaded yet). + - Typing Ctrl-C whilst raw_input() was waiting in a build with threads disabled caused a crash. diff --git a/Python/pystate.c b/Python/pystate.c index 255cf7e86e8..abca8ddfdff 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -503,6 +503,6 @@ PyGILState_Release(PyGILState_STATE oldstate) } /* Release the lock if necessary */ else if (oldstate == PyGILState_UNLOCKED) - PyEval_ReleaseThread(tcur); + PyEval_SaveThread(); } #endif /* WITH_THREAD */