[Python-Dev] fork or exec?

Victor Stinner victor.stinner at gmail.com
Thu Jan 10 12:59:02 CET 2013


2013/1/10 Charles-François Natali <neologix at free.fr>:
> Disclaimer: I'm not saying we should be changing all FDs to
> close-on-exec by default like Ruby did, I'm just saying that there's a
> real problem.

I changed my mind, the PEP does not propose to change the *default*
behaviour (don't set close-on-exec by default).

But the PEP proposes to *add a function* to change the default
behaviour. Application developers taking care of security can set
close-on-exec by default, but they will have maybe to fix bugs (add
cloexec=False argument, call os.set_cloexec(fd, True)) because
something may expect an inheried file descriptor.

IMO it is a smoother transition than forcing all developers to fix
their application which may make developers think that Python 3.4 is
buggy, and slow down the transition from Python 3.3 to 3.4. For Ruby:
the change will only be effective in the next major version of Ruby,
which may be the expected "Ruby 2.0".

Victor


More information about the Python-Dev mailing list