We now assume that PyOS_Readline() is called with the interpreter lock
held. It releases the lock around the call to the function pointed to by
PyOS_ReadlineFunctionPointer (default PyOS_StdioReadline()).
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index 24bb18c..56c343a 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -39,17 +39,7 @@
- a malloc'ed string ending in \n normally
*/
-#define Py_USE_NEW_NAMES 1
-
-#include "config.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include "myproto.h"
-#include "mymalloc.h"
-#include "intrcheck.h"
+#include "Python.h"
int (*PyOS_InputHook)() = NULL;
@@ -153,5 +143,7 @@
if (PyOS_ReadlineFunctionPointer == NULL) {
PyOS_ReadlineFunctionPointer = PyOS_StdioReadline;
}
+ Py_BEGIN_ALLOW_THREADS
return (*PyOS_ReadlineFunctionPointer)(prompt);
+ Py_END_ALLOW_THREADS
}