diff --git a/social_mpc/controller.py b/social_mpc/controller.py index 07714e7071ccd367b382adbb41ca123cff4650c5..ecaff1670fc85a50a6c846becd8ced2bf9727f36 100644 --- a/social_mpc/controller.py +++ b/social_mpc/controller.py @@ -10,6 +10,7 @@ from multiprocessing import Process, Lock from multiprocessing.managers import SharedMemoryManager +from multiprocessing import active_children import atexit import rospy import time @@ -268,7 +269,7 @@ class RobotController(): self.flags, self.lock)) self.path_planner_process.start() - atexit.register(lambda x: self.on_subprocess_exit("Path planner"), self.path_planner_process) + # atexit.register(lambda x: self.on_subprocess_exit("Path planner"), self.path_planner_process) def update_shared_memory(self, state): if self.shared_global_map is None: @@ -464,7 +465,7 @@ class RobotController(): self.flags, self.lock)) self.goal_finder_process.start() - atexit.register(lambda x: self.on_subprocess_exit("Goal finder"), self.goal_finder_process) + # atexit.register(lambda x: self.on_subprocess_exit("Goal finder"), self.goal_finder_process) def get_static_cost_map(self, state): tic = time.time() @@ -747,6 +748,8 @@ class RobotController(): self.actions = np.copy(self.initial_action) def close(self): + active = active_children() + rospy.loginfo(f'Active Children before closing: {len(active)}') with self.lock: self.flags[0] = 0 if self.path_planner_enabled: @@ -756,4 +759,6 @@ class RobotController(): if self.smm_enabled: self.smm.shutdown() self.is_init = False + active = active_children() + rospy.loginfo(f'Active Children at the end of closing: {len(active)}') rospy.loginfo('RobotController closed')