Antoine Pitrou <pit...@free.fr> added the comment: > Of course, I should have been more clear. > What I meant is that there's no such thing as explicit and "native" as > setblocking() for plain files.
Indeed. It would probably be a nice addition, assuming it is portable enough. > > A BlockingIOError is raised if the underlying raw stream is in non > > blocking-mode, and has no data available at the moment. > > This is valid for BufferedReader, BufferWriter and BufferIOBase > classes in various methods while io.RawIOBase.write() and > io.RawIOBase.read() return None instead. Shouldn't they raise > BlockingIOError as well? Why do they return None? Well, that's how it was decided when the new IO lib was designed. See http://www.python.org/dev/peps/pep-3116/#non-blocking-i-o (but this says that write() should return 0, while the FileIO implementation returns None; I'd say that for consistency with read() and readinto() returning None is the right thing). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9854> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com