mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merge.
This commit is contained in:
commit
a439b32cf0
2 changed files with 29 additions and 11 deletions
|
@ -412,17 +412,6 @@ child_exec(char *const exec_array[],
|
|||
POSIX_CALL(close(errwrite));
|
||||
}
|
||||
|
||||
if (close_fds) {
|
||||
int local_max_fd = max_fd;
|
||||
#if defined(__NetBSD__)
|
||||
local_max_fd = fcntl(0, F_MAXFD);
|
||||
if (local_max_fd < 0)
|
||||
local_max_fd = max_fd;
|
||||
#endif
|
||||
/* TODO HP-UX could use pstat_getproc() if anyone cares about it. */
|
||||
_close_open_fd_range(3, local_max_fd, py_fds_to_keep);
|
||||
}
|
||||
|
||||
if (cwd)
|
||||
POSIX_CALL(chdir(cwd));
|
||||
|
||||
|
@ -451,6 +440,18 @@ child_exec(char *const exec_array[],
|
|||
/* Py_DECREF(result); - We're about to exec so why bother? */
|
||||
}
|
||||
|
||||
/* close FDs after executing preexec_fn, which might open FDs */
|
||||
if (close_fds) {
|
||||
int local_max_fd = max_fd;
|
||||
#if defined(__NetBSD__)
|
||||
local_max_fd = fcntl(0, F_MAXFD);
|
||||
if (local_max_fd < 0)
|
||||
local_max_fd = max_fd;
|
||||
#endif
|
||||
/* TODO HP-UX could use pstat_getproc() if anyone cares about it. */
|
||||
_close_open_fd_range(3, local_max_fd, py_fds_to_keep);
|
||||
}
|
||||
|
||||
/* This loop matches the Lib/os.py _execvpe()'s PATH search when */
|
||||
/* given the executable_list generated by Lib/subprocess.py. */
|
||||
saved_errno = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue