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
 }