summaryrefslogtreecommitdiffstats
path: root/Lib/multiprocessing/popen_spawn_posix.py
diff options
context:
space:
mode:
authorRichard Oudkerk <shibturn@gmail.com>2013-08-22 10:38:57 (GMT)
committerRichard Oudkerk <shibturn@gmail.com>2013-08-22 10:38:57 (GMT)
commit7d2d43c0b15b8062c9b5d672a78e653abe2e1d91 (patch)
treeabc0049e1078fafc3c66f0463b8e9f70e2004d0e /Lib/multiprocessing/popen_spawn_posix.py
parent0718f70131e4bc3756f453eb2f0c9ef8ed2fa843 (diff)
downloadcpython-7d2d43c0b15b8062c9b5d672a78e653abe2e1d91.zip
cpython-7d2d43c0b15b8062c9b5d672a78e653abe2e1d91.tar.gz
cpython-7d2d43c0b15b8062c9b5d672a78e653abe2e1d91.tar.bz2
Stop making fork server have copy of semaphore_tracker_fd.
Diffstat (limited to 'Lib/multiprocessing/popen_spawn_posix.py')
-rw-r--r--Lib/multiprocessing/popen_spawn_posix.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/multiprocessing/popen_spawn_posix.py b/Lib/multiprocessing/popen_spawn_posix.py
index de262aa..e67915d 100644
--- a/Lib/multiprocessing/popen_spawn_posix.py
+++ b/Lib/multiprocessing/popen_spawn_posix.py
@@ -40,7 +40,8 @@ class Popen(popen_fork.Popen):
return fd
def _launch(self, process_obj):
- tracker_fd = current_process()._config['semaphore_tracker_fd']
+ from . import semaphore_tracker
+ tracker_fd = semaphore_tracker._semaphore_tracker_fd
self._fds.append(tracker_fd)
prep_data = spawn.get_preparation_data(process_obj._name)
fp = io.BytesIO()
@@ -55,7 +56,8 @@ class Popen(popen_fork.Popen):
try:
parent_r, child_w = util.pipe()
child_r, parent_w = util.pipe()
- cmd = spawn.get_command_line() + [str(child_r)]
+ cmd = spawn.get_command_line(tracker_fd=tracker_fd,
+ pipe_handle=child_r)
self._fds.extend([child_r, child_w])
self.pid = util.spawnv_passfds(spawn.get_executable(),
cmd, self._fds)