Issue #9854: The default read() implementation in io.RawIOBase now
handles non-blocking readinto() returning None correctly.
diff --git a/Lib/_pyio.py b/Lib/_pyio.py
index d6dce6d..83bce70 100644
--- a/Lib/_pyio.py
+++ b/Lib/_pyio.py
@@ -544,6 +544,8 @@
return self.readall()
b = bytearray(n.__index__())
n = self.readinto(b)
+ if n is None:
+ return None
del b[n:]
return bytes(b)
@@ -561,7 +563,7 @@
"""Read up to len(b) bytes into b.
Returns number of bytes read (0 for EOF), or None if the object
- is set not to block as has no data to read.
+ is set not to block and has no data to read.
"""
self._unsupported("readinto")