Fix:

[ 1176893 ] Readline segfault

by unsilly-ing PyGILState_Release().

Backport candidate.
diff --git a/Misc/NEWS b/Misc/NEWS
index f1551b1..ec30734 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,12 @@
 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 255cf7e..abca8dd 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -503,6 +503,6 @@
 	}
 	/* Release the lock if necessary */
 	else if (oldstate == PyGILState_UNLOCKED)
-		PyEval_ReleaseThread(tcur);
+		PyEval_SaveThread();
 }
 #endif /* WITH_THREAD */