[issue13322] buffered read() and write() does not raise BlockingIOError

Alexey Izbyshev <izbyshev@ispras.ru> added the comment: For added fun: at least one part of the standard library doesn't expect None returns from read() in the buffering layer.
import os r, w = os.pipe2(os.O_NONBLOCK) f = os.fdopen(r, 'r') f.read() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/izbyshev/workspace/cpython/Lib/codecs.py", line 321, in decode data = self.buffer + input TypeError: can't concat NoneType to bytes
Note that nonblock-none.patch doesn't seem to address that. ---------- nosy: +izbyshev versions: +Python 3.5, Python 3.6, Python 3.7, Python 3.8 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue13322> _______________________________________
participants (1)
-
Alexey Izbyshev