This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author giampaolo.rodola
Recipients amaury.forgeotdarc, benjamin.peterson, giampaolo.rodola, pitrou, stutzbach
Date 2010-09-15.18:20:52
SpamBayes Score 5.62635e-08
Marked as misclassified No
Message-id <1284574854.32.0.403686635118.issue9854@psf.upfronthosting.co.za>
In-reply-to
Content
> Non-blocking files exist

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.

> Returning None is what raw I/O objects are supposed to do when they 
> fail reading or writing even a single byte. It is designed and 
> documented as such.

From http://docs.python.org/dev/library/io.html#module-io about io.BufferedIOBase.readinto()

> 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?
History
Date User Action Args
2010-09-15 18:20:54giampaolo.rodolasetrecipients: + giampaolo.rodola, amaury.forgeotdarc, pitrou, benjamin.peterson, stutzbach
2010-09-15 18:20:54giampaolo.rodolasetmessageid: <1284574854.32.0.403686635118.issue9854@psf.upfronthosting.co.za>
2010-09-15 18:20:52giampaolo.rodolalinkissue9854 messages
2010-09-15 18:20:52giampaolo.rodolacreate