[issue9854] SocketIO should return None on EWOULDBLOCK
report at bugs.python.org
Wed Sep 15 21:36:02 CEST 2010
Antoine Pitrou <pitrou at 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
> > 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.
(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 <report at bugs.python.org>
More information about the Python-bugs-list