diff options
-rw-r--r-- | Lib/multiprocessing/forkserver.py | 2 | ||||
-rw-r--r-- | Lib/multiprocessing/util.py | 20 |
2 files changed, 1 insertions, 21 deletions
diff --git a/Lib/multiprocessing/forkserver.py b/Lib/multiprocessing/forkserver.py index 11df38285c6..975b15aef8f 100644 --- a/Lib/multiprocessing/forkserver.py +++ b/Lib/multiprocessing/forkserver.py @@ -108,7 +108,7 @@ def ensure_running(): # all client processes own the write end of the "alive" pipe; # when they all terminate the read end becomes ready. - alive_r, alive_w = util.pipe() + alive_r, alive_w = os.pipe() try: fds_to_pass = [listener.fileno(), alive_r] cmd %= (listener.fileno(), alive_r, _preload_modules, data) diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py index ac8e9136c11..0aeb1018faf 100644 --- a/Lib/multiprocessing/util.py +++ b/Lib/multiprocessing/util.py @@ -358,13 +358,6 @@ def close_all_fds_except(fds): def spawnv_passfds(path, args, passfds): import _posixsubprocess, fcntl passfds = sorted(passfds) - tmp = [] - # temporarily unset CLOEXEC on passed fds - for fd in passfds: - flag = fcntl.fcntl(fd, fcntl.F_GETFD) - if flag & fcntl.FD_CLOEXEC: - fcntl.fcntl(fd, fcntl.F_SETFD, flag & ~fcntl.FD_CLOEXEC) - tmp.append((fd, flag)) errpipe_read, errpipe_write = os.pipe() try: return _posixsubprocess.fork_exec( @@ -374,16 +367,3 @@ def spawnv_passfds(path, args, passfds): finally: os.close(errpipe_read) os.close(errpipe_write) - # reset CLOEXEC where necessary - for fd, flag in tmp: - fcntl.fcntl(fd, fcntl.F_SETFD, flag) - -# -# Return pipe with CLOEXEC set on fds -# -# Deprecated: os.pipe() creates non-inheritable file descriptors -# since Python 3.4 -# - -def pipe(): - return os.pipe() |