[Python-Dev] PEP 446: Open issues/questions (original) (raw)

Richard Oudkerk shibturn at gmail.com
Fri Aug 2 10:16:07 CEST 2013


On 02/08/2013 1:21am, Victor Stinner wrote:

2013/7/30 Victor Stinner <victor.stinner at gmail.com>:

I would be nice to have a "passhandles" on Windows. I'm not sure that it's possible to implement this atomically. It's probably better to leave the application to choose how the inheritance is defined. Example: for handle in handles: os.setinheritable(handle, True) subprocess.call(...) for handle in handles: os.setinheritable(handle, False) This example is safe if the application has a single thread (if a single thread spawn new programs). Making handles non-inheritable again may be useless.

If we have a recursive lock which is always held when Python starts a process then you could write:

with subprocess.getlock(): for handle in handles: os.set_inheritable(handle, True) subprocess.call(...) for handle in handles: os.set_inheritable(handle, False)

This should be used by fork() and multiprocessing too.

-- Richard



More information about the Python-Dev mailing list