From 569a7a4abd4772274731cf7370ae8fec4ecb0de2 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 22 Aug 2016 13:59:22 +1000 Subject: [PATCH] Tools: sim_vehicle.py - correct process termination Closes #4699 --- Tools/autotest/sim_vehicle.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Tools/autotest/sim_vehicle.py b/Tools/autotest/sim_vehicle.py index c1ed6c9309..f0e5c2e000 100755 --- a/Tools/autotest/sim_vehicle.py +++ b/Tools/autotest/sim_vehicle.py @@ -87,9 +87,8 @@ def cygwin_pidof(proc_name): pid = int(line_split[0].strip()) except: pid = int(line_split[1].strip()) - str_pid = str(pid) - if str_pid not in pids: - pids.append(str_pid) + if pid not in pids: + pids.append(pid) return pids @@ -143,7 +142,7 @@ def kill_tasks(): """Clean up stray processes by name. This is a somewhat shotgun approach""" progress("Killing tasks") try: - victim_names = [ + victim_names = set([ 'JSBSim', 'lt-JSBSim', 'ArduPlane.elf', @@ -154,7 +153,12 @@ def kill_tasks(): 'MAVProxy.exe', 'runsim.py', 'AntennaTracker.elf', - ] + ]) + for frame in _options_for_frame.keys(): + if not _options_for_frame[frame].has_key("waf_target"): + continue + exe_name = os.path.basename(_options_for_frame[frame]["waf_target"]) + victim_names.add(exe_name) if under_cygwin(): return kill_tasks_cygwin(victim_names)