[Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets

Ronald Oussoren ronaldoussoren at mac.com
Sat Jul 6 14:11:52 CEST 2013


On 6 Jul, 2013, at 14:04, Victor Stinner <victor.stinner at gmail.com> wrote:

> 2013/7/6 Charles-François Natali <cf.natali at gmail.com>:
>>> I've read your "Rejected Alternatives" more closely and Ulrich
>>> Drepper's article, though I think the article also supports adding
>>> a blocking (default True) parameter to open() and os.open(). If you
>>> try to change that default on a platform where it doesn't work, an
>>> exception should be raised.
>> 
>> Contrarily to close-on-exec, non-blocking only applies to a limited
>> type of files (e.g. it doesn't work for regular files, which represent
>> 90% of open() use cases).
> 
> What do you mean by "does not work"? On Linux, O_NONBLOCK flag can be
> set on regular files, sockets, pipes, etc.

I guess he means that O_NONBLOCK doesn't actually do anything for regular
files, regular files are always ready for I/O as far as select et. al. are
concerned and I/O will block when data has to be read from disk (or in 
the case of a network filesystem, from another machine).

Ronald



More information about the Python-Dev mailing list