diff -r 45dcdd8f3211 Modules/_io/fileio.c --- a/Modules/_io/fileio.c Tue Jul 01 16:48:42 2014 +0200 +++ b/Modules/_io/fileio.c Tue Jul 01 17:05:50 2014 +0200 @@ -694,9 +694,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; }