summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/pystate.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 1feda610a3..fe9532ac13 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,9 @@ What's New in Python 2.5 release candidate 2?
Core and builtins
-----------------
+- Make _PyGILState_NoteThreadState() static, it was not used anywhere
+ outside of pystate.c and should not be necessary.
+
- Bug #1551432: Exceptions do not define an explicit __unicode__ method. This
allows calling unicode() on exceptions classes directly to succeed.
diff --git a/Python/pystate.c b/Python/pystate.c
index f591a59767..639278f690 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -309,9 +309,14 @@ PyThreadState_Swap(PyThreadState *newts)
*/
#if defined(Py_DEBUG) && defined(WITH_THREAD)
if (newts) {
+ /* This can be called from PyEval_RestoreThread(). Similar
+ to it, we need to ensure errno doesn't change.
+ */
+ int err = errno;
PyThreadState *check = PyGILState_GetThisThreadState();
if (check && check->interp == newts->interp && check != newts)
Py_FatalError("Invalid thread state for this thread");
+ errno = err;
}
#endif
return oldts;
@@ -504,7 +509,7 @@ _PyGILState_Fini(void)
it so it doesn't try to create another thread state for the thread (this is
a better fix for SF bug #1010677 than the first one attempted).
*/
-void
+static void
_PyGILState_NoteThreadState(PyThreadState* tstate)
{
/* If autoTLSkey is 0, this must be the very first threadstate created