[Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets (original) (raw)
Victor Stinner victor.stinner at gmail.com
Sat Jul 6 14:43:24 CEST 2013
- Previous message: [Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets
- Next message: [Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2013/7/6 Cameron Simpson <cs at zip.com.au>:
Yes. Please forget I mentioned fork(); it is only relevant if you were offering some facility to undo the addition of cloexec to a Popen passed file descriptor. Which you are not.
Oh... gotcha. I now understood your concern.
There is a little "trick" here: at fork, file descriptors are duplicated in the child process and almost all properties (open state, flags, offset, etc.) are shared. There is one little exception: file attributes are not shared, and there is only one file attribute: O_CLOEXEC. Setting O_CLOEXEC in a child process does not affect the flag in the parent process ;-) I will add a unit test to check this.
I modified the PEP to explain that, and I also mentioned the name of the close-on-exec and blocking flags: http://hg.python.org/peps/rev/425f831fddf7
Victor
- Previous message: [Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets
- Next message: [Python-Dev] PEP 446: Add new parameters to configure the inherance of files and for non-blocking sockets
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]