The previous fix was still broken; the Py_END_ALLOW_THREADS macro was
never executed because of a return statement. Sigh.
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index 56c343a..d626139 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -140,10 +140,12 @@
PyOS_Readline(prompt)
char *prompt;
{
+ char *rv;
if (PyOS_ReadlineFunctionPointer == NULL) {
PyOS_ReadlineFunctionPointer = PyOS_StdioReadline;
}
Py_BEGIN_ALLOW_THREADS
- return (*PyOS_ReadlineFunctionPointer)(prompt);
+ rv = (*PyOS_ReadlineFunctionPointer)(prompt);
Py_END_ALLOW_THREADS
+ return rv;
}