Patch #512981: Update readline input stream on sys.stdin/out change.
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 2387deb..7e7ad2e 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1311,8 +1311,9 @@
 		if (PyFile_WriteString(" ", fout) != 0)
 			return NULL;
 	}
-	if (PyFile_AsFile(fin) == stdin && PyFile_AsFile(fout) == stdout &&
-	    isatty(fileno(stdin)) && isatty(fileno(stdout))) {
+	if (PyFile_Check (fin) && PyFile_Check (fout)
+            && isatty(fileno(PyFile_AsFile(fin)))
+            && isatty(fileno(PyFile_AsFile(fout)))) {
 		PyObject *po;
 		char *prompt;
 		char *s;
@@ -1329,7 +1330,8 @@
 			po = NULL;
 			prompt = "";
 		}
-		s = PyOS_Readline(prompt);
+		s = PyOS_Readline(PyFile_AsFile (fin), PyFile_AsFile (fout),
+                                  prompt);
 		Py_XDECREF(po);
 		if (s == NULL) {
 			PyErr_SetNone(PyExc_KeyboardInterrupt);