Skip to content

Commit 85c9aa6

Browse files
committed
FIX remove link to pid in child resource_tracker
1 parent d8bb877 commit 85c9aa6

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

loky/backend/popen_loky_posix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def _launch(self, process_obj):
120120
reduction._mk_inheritable(tracker_fd)
121121
self._fds += [child_r, child_w, tracker_fd]
122122
if sys.version_info >= (3, 8) and os.name == "posix":
123-
mp_tracker_fd = prep_data["mp_tracker_args"]["fd"]
123+
mp_tracker_fd = prep_data["mp_tracker_fd"]
124124
self.duplicate_for_child(mp_tracker_fd)
125125

126126
from .fork_exec import fork_exec

loky/backend/spawn.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,10 @@ def get_preparation_data(name, init_main_module=True):
8282
from .resource_tracker import _resource_tracker
8383

8484
_resource_tracker.ensure_running()
85-
d["tracker_args"] = {"pid": _resource_tracker._pid}
8685
if sys.platform == "win32":
87-
d["tracker_args"]["fh"] = msvcrt.get_osfhandle(_resource_tracker._fd)
86+
d["tracker_fd"] = msvcrt.get_osfhandle(_resource_tracker._fd)
8887
else:
89-
d["tracker_args"]["fd"] = _resource_tracker._fd
88+
d["tracker_fd"] = _resource_tracker._fd
9089

9190
if sys.version_info >= (3, 8) and os.name == "posix":
9291
# joblib/loky#242: allow loky processes to retrieve the resource
@@ -105,10 +104,7 @@ def get_preparation_data(name, init_main_module=True):
105104
# process is created (othewise the child won't be able to use it if it
106105
# is created later on)
107106
mp_resource_tracker.ensure_running()
108-
d["mp_tracker_args"] = {
109-
"fd": mp_resource_tracker._fd,
110-
"pid": mp_resource_tracker._pid,
111-
}
107+
d["mp_tracker_fd"] = mp_resource_tracker._fd
112108

113109
# Figure out whether to initialise main in the subprocess as a module
114110
# or through direct execution (or to leave it alone entirely)
@@ -172,23 +168,21 @@ def prepare(data, parent_sentinel=None):
172168
if "orig_dir" in data:
173169
process.ORIGINAL_DIR = data["orig_dir"]
174170

175-
if "mp_tracker_args" in data:
171+
if "mp_tracker_fd" in data:
176172
from multiprocessing.resource_tracker import (
177173
_resource_tracker as mp_resource_tracker,
178174
)
179175

180-
mp_resource_tracker._fd = data["mp_tracker_args"]["fd"]
181-
mp_resource_tracker._pid = data["mp_tracker_args"]["pid"]
182-
if "tracker_args" in data:
176+
mp_resource_tracker._fd = data["mp_tracker_fd"]
177+
if "tracker_fd" in data:
183178
from .resource_tracker import _resource_tracker
184179

185-
_resource_tracker._pid = data["tracker_args"]["pid"]
186180
if sys.platform == "win32":
187-
handle = data["tracker_args"]["fh"]
181+
handle = data["tracker_fd"]
188182
handle = duplicate(handle, source_process=parent_sentinel)
189183
_resource_tracker._fd = msvcrt.open_osfhandle(handle, os.O_RDONLY)
190184
else:
191-
_resource_tracker._fd = data["tracker_args"]["fd"]
185+
_resource_tracker._fd = data["tracker_fd"]
192186

193187
if "init_main_from_name" in data:
194188
_fixup_main_from_name(data["init_main_from_name"])

0 commit comments

Comments
 (0)