[Python-Dev] Status of the PEP 433?
Ralf Schmitt
ralf at systemexit.de
Thu Feb 14 20:05:49 CET 2013
Victor Stinner <victor.stinner at gmail.com> writes:
>
> Q: The PEP may break applications.
> A: Most developers agree that it is (very) unlikely. If file
> descriptor inherance matters, subprocess must be used (because it
> rocks!) with pass_fds.
But that doesn't cover the case for programs that don't fork and really
just want to exec another program. when using subprocess, you'll always
have two processes running.
> If subprocess is used without pass_fds,
> applications stops working since python 3.2 (since python 3.0 on
> Windows). pass_fds will clear the close-on-exec flag on the file
> descriptors with the PEP. If an application breaks because it relies
> on file descriptor inherance, it's easy to detect it (EBADF error) and
the application may open other files/sockets and the unused file
descriptor would be reused. there's no EBADF in that case.
More information about the Python-Dev
mailing list