summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS6
-rw-r--r--Python/pystate.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index f1551b12d8..ec30734f30 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 255cf7e86e..abca8ddfdf 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 */