Issue 13858: readline fails on nonblocking, unbuffered io.FileIO objects (original) (raw)

_io._IOBase.readline doesn't seem to like _io.FileIO.read returning None, which occurs when it's unbuffered and nonblocking. (Modules/_io/fileio.c:745 in trunk). Can this be handled some other way?

$ python3.3 Python 3.3.0a0 (default:fb0f4fe8123e+, Jan 24 2012, 11:21:36) [GCC 4.6.2] on linux Type "help", "copyright", "credits" or "license" for more information.

import os, io r, w = os.pipe2(os.O_NONBLOCK) f = io.open(r, 'rb', 0) f.readline() Traceback (most recent call last): File "", line 1, in OSError: read() should have returned a bytes object, not 'NoneType'