Fix problem discovered by Barry: if you hit ^C to
sys.stdin.readline(), you get a fatal error (no current thread).  This
is because there was a call to PyErr_CheckSignals() while there was no
current thread.  I wonder how many more of these we find...  I bnetter
go hunting for PyErr_CheckSignals() now...
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index a0d05c4..cd8a730 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -541,18 +541,18 @@
 	for (;;) {
 		if ((c = getc(fp)) == EOF) {
 			clearerr(fp);
+			Py_BLOCK_THREADS
 			if (PyErr_CheckSignals()) {
-				Py_BLOCK_THREADS
 				Py_DECREF(v);
 				return NULL;
 			}
 			if (n < 0 && buf == BUF(v)) {
-				Py_BLOCK_THREADS
 				Py_DECREF(v);
 				PyErr_SetString(PyExc_EOFError,
 					   "EOF when reading a line");
 				return NULL;
 			}
+			Py_UNBLOCK_THREADS
 			break;
 		}
 		if ((*buf++ = c) == '\n') {