From 63cb4ca3bbc0a84e914b886be7670ae7c76c962e Mon Sep 17 00:00:00 2001 From: Marcus G K Williams <168222+mgkwill@users.noreply.github.com> Date: Fri, 11 Feb 2022 08:55:40 -0800 Subject: [PATCH] Check process lineage before join (#177) Signed-off-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com> --- .../magma/runtime/message_infrastructure/multiprocessing.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lava/magma/runtime/message_infrastructure/multiprocessing.py b/src/lava/magma/runtime/message_infrastructure/multiprocessing.py index 3b3a1aaf0..2b057447e 100644 --- a/src/lava/magma/runtime/message_infrastructure/multiprocessing.py +++ b/src/lava/magma/runtime/message_infrastructure/multiprocessing.py @@ -8,6 +8,7 @@ AbstractRuntimeServiceBuilder import multiprocessing as mp +import os from multiprocessing.managers import SharedMemoryManager import traceback @@ -76,7 +77,8 @@ def build_actor(self, target_fn: ty.Callable, builder: ty.Union[ def stop(self): """Stops the shared memory manager""" for actor in self._actors: - actor.join() + if actor._parent_pid == os.getpid(): + actor.join() self._smm.shutdown()