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

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, ONONBLOCK 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