summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-07-02 20:59:31 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-07-02 20:59:31 (GMT)
commite10920f0d1009ea33ce4b35b015a928b33a80867 (patch)
treeb738b9193496c999ceafdbab981120d21de07f3e
parentee750d8f8da5a4789d6cae2879e6f7535baeef4c (diff)
downloadcpython-e10920f0d1009ea33ce4b35b015a928b33a80867.zip
cpython-e10920f0d1009ea33ce4b35b015a928b33a80867.tar.gz
cpython-e10920f0d1009ea33ce4b35b015a928b33a80867.tar.bz2
Issue #21090: io.FileIO.readall() does not ignore I/O errors anymore. Before,
it ignored I/O errors if at least the first C call read() succeed.
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_io/fileio.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 0efa815..0983a59 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,9 @@ Core and Builtins
Library
-------
+- Issue #21090: io.FileIO.readall() does not ignore I/O errors anymore. Before,
+ it ignored I/O errors if at least the first C call read() succeed.
+
- Issue #21781: ssl.RAND_add() now supports strings longer than 2 GB.
- Issue #11453: asyncore: emit a ResourceWarning when an unclosed file_wrapper
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index cbb2daf..81e2906 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -691,9 +691,9 @@ fileio_readall(fileio *self)
}
continue;
}
- if (bytes_read > 0)
- break;
if (errno == EAGAIN) {
+ if (bytes_read > 0)
+ break;
Py_DECREF(result);
Py_RETURN_NONE;
}