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...
This commit is contained in:
Guido van Rossum 1997-11-07 19:20:34 +00:00
parent c1189eb524
commit f51815426e
1 changed files with 2 additions and 2 deletions

View File

@ -541,18 +541,18 @@ getline(f, n)
for (;;) {
if ((c = getc(fp)) == EOF) {
clearerr(fp);
if (PyErr_CheckSignals()) {
Py_BLOCK_THREADS
if (PyErr_CheckSignals()) {
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') {