diff options
author | Richard Oudkerk <shibturn@gmail.com> | 2013-08-28 10:25:34 (GMT) |
---|---|---|
committer | Richard Oudkerk <shibturn@gmail.com> | 2013-08-28 10:25:34 (GMT) |
commit | 0d097b6299b8c478982758bd1986dfc724ddf9ad (patch) | |
tree | 57646988a674db300a70d19f985155e14af20784 | |
parent | 1fa174a418d78ef24aa741945230a5074b3e6236 (diff) | |
download | cpython-0d097b6299b8c478982758bd1986dfc724ddf9ad.zip cpython-0d097b6299b8c478982758bd1986dfc724ddf9ad.tar.gz cpython-0d097b6299b8c478982758bd1986dfc724ddf9ad.tar.bz2 |
Issue #18865: PEP 446 makes multiprocessing.util.pipe() unnecessary.
-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 11df382..975b15a 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 ac8e913..0aeb101 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() |