From 0d097b6299b8c478982758bd1986dfc724ddf9ad Mon Sep 17 00:00:00 2001 From: Richard Oudkerk Date: Wed, 28 Aug 2013 11:25:34 +0100 Subject: [PATCH] Issue #18865: PEP 446 makes multiprocessing.util.pipe() unnecessary. --- Lib/multiprocessing/forkserver.py | 2 +- Lib/multiprocessing/util.py | 20 -------------------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/Lib/multiprocessing/forkserver.py b/Lib/multiprocessing/forkserver.py index 11df38285c..975b15aef8 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 ac8e9136c1..0aeb1018fa 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() -- 2.50.1