Open eldipa opened 4 years ago
Currently, the preexec_fn is executed after the file descriptors are closed. This has some unwanted effects:
preexec_fn
The proposal is to move the "close the fds" section below the "execute the preexec_fn" code: https://github.com/pexpect/ptyprocess/blob/master/ptyprocess/ptyprocess.py#L266-L285
For reference, this is what it does subprocess.Popen: https://github.com/python/cpython/blob/master/Modules/_posixsubprocess.c#L528-L549
subprocess.Popen
If it is okay, I can do a PR with the fix but I would like to hear your opinions about this.
Currently, the
preexec_fn
is executed after the file descriptors are closed. This has some unwanted effects:preexec_fn
opens a file descriptor, it will be inherit by the child processpreexec_fn
relays on having some file descriptor open, it will crash (see https://github.com/pexpect/pexpect/issues/368)The proposal is to move the "close the fds" section below the "execute the preexec_fn" code: https://github.com/pexpect/ptyprocess/blob/master/ptyprocess/ptyprocess.py#L266-L285
For reference, this is what it does
subprocess.Popen
: https://github.com/python/cpython/blob/master/Modules/_posixsubprocess.c#L528-L549If it is okay, I can do a PR with the fix but I would like to hear your opinions about this.