Fritz Reese <fritzore...@gmail.com> added the comment:

This is still an issue on Linux in both 3.4 and 3.7 even when using io.open() 
as suggested by @vstinner:

>>> import io, os, fcntl
>>> r, w = os.pipe()
>>> fcntl(r, fcntl.F_SETFL, os.O_NONBLOCK)
0
>>> stream = io.open(r, 'rt')
>>> stream
<_io.TextIOWrapper name=X mode='rt' encoding='UTF-8'>
>>> stream.buffer
<_io.BufferedReader name=X>
>>> print(repr(stream.buffer.read()))
None
>>> stream.read()
Traceback (most recent call last):
  ...
  File ".../python3.7/codecs.py"..., in decode
    data = self.buffer + input
TypeError: can't concat NoneType to bytes

The error is present in at least 3.4 up to 3.7 where the underlying 
buffer.read() returns None which is not handled by the TextIOStream.

----------
nosy: +Fritz Reese
versions: +Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue24560>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to