Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-11 Thread Victor Stinner
2013/8/12 Victor Stinner : > I fixed various bugs in the implementation of the (new) PEP 446: > http://hg.python.org/features/pep-446 > > At revision da685bd67524, the full test suite pass on: (...) I also checked the usage of atomic flags. There was a minor bug on Linux, it is now fixed (remove a

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-11 Thread Victor Stinner
Hi, I fixed various bugs in the implementation of the (new) PEP 446: http://hg.python.org/features/pep-446 At revision da685bd67524, the full test suite pass on: - Fedora 18 (Linux 3.9), x86_64 - FreeBSD 9.1, x86_64 - Windows 7 SP1, x86_64 - OpenIndiana (close to Solaris 11), x86_64 Some tests

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-07 Thread Victor Stinner
> Also the socket library creates sockets with inheritable handles by default. Apparently there isn't a reliable way to make sockets non-inheritable because anti-virus/firewall software can interfere: > > http://stackoverflow.com/questions/12058911/can-tcp-socket-handles-be-set-not-inheritable Re

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-06 Thread Victor Stinner
2013/8/6 Victor Stinner : > Oh, the summary table is wrong for the "subprocess, default" line: all > inheritable handles are inherited if at least one standard stream is > replaced. I updated the PEP: - add a new section "Performances of Closing All File Descriptors" - mention a previous attempt

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-05 Thread Victor Stinner
> On Windows, the ``subprocess`` closes all handles and file descriptors > in the child process by default. If at least one standard stream (stdin, > stdout or stderr) is replaced (ex: redirected into a pipe), all > inheritable handles are inherited in the child process. > > Summary: > > ==

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-05 Thread Richard Oudkerk
On 06/08/2013 1:23am, Victor Stinner wrote: Each operating system handles the inheritance of file descriptors differently. Windows creates non-inheritable file descriptors by default, whereas UNIX creates inheritable file descriptors by default. The Windows API creates non-inheritable *handles*

Re: [Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-05 Thread Richard Oudkerk
On 06/08/2013 1:23am, Victor Stinner wrote: Each operating system handles the inheritance of file descriptors differently. Windows creates non-inheritable file descriptors by default, whereas UNIX creates inheritable file descriptors by default. The Windows API creates non-inheritable *handles*

[Python-Dev] (New) PEP 446: Make newly created file descriptors non-inheritable

2013-08-05 Thread Victor Stinner
Hi, My second try (old PEP 446) to change how the inheritance of file descriptors was somehow rejected. Here is a third try (new PEP 446) which should include all information of the recent discussions on python-dev, especially how file descriptors and handles are inherited on Windows. I added tab