gh-88324: Clarify documentation for redirected stdout/stderr when using subprocess in Linux#94035
Merged
gpshead merged 3 commits intopython:mainfrom Jan 20, 2023
Merged
Conversation
Changes: - Move the ``None`` option (which is default) to the front of the list of input options - Move the ``None`` option description up to make the default behavior more clear (No redirection) - Remove mention of Child File Descriptors from ``None`` option description
furkanonder
approved these changes
Jan 19, 2023
gpshead
approved these changes
Jan 20, 2023
Member
|
thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The description of
subprocessinput parameters stdin, stdout, and stderr does not make it clear that the default behavior (==None) is "no redirection will occur". One way to make this more clear to the reader is to describe the default behavior earlier in the argument description.Second, the statement "the child’s file handles will be inherited from the parent" is wrong, as discussed in linked issue https://bugs.python.org/issue1227748. The child file handle behavior is better described by the
close_fdsinput argument.Asside: close_fds description
If close_fds is true, all file descriptors except 0, 1 and 2 will be closed before the child process is executed. Otherwise when close_fds is false, file descriptors obey their inheritable flag as described in Inheritance of File Descriptors.
On Windows, if close_fds is true then no handles will be inherited by the child process unless explicitly passed in the handle_list element of STARTUPINFO.lpAttributeList, or by standard handle redirection.
Changes
Noneoption and description up in the documentation to make it more clear that the default behavior is "no redirection will occur"close_fdsinput parameterResolve #88324