process: Early return during process termination if no proc running
This avoids extra unneeded logging about killing with signal when
actually no signal is being sent.
Change-Id: I5b5dd78fe3301d8eef2ab93da3b37029268ae198
diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py
index 441d4ea..66ecae5 100644
--- a/src/osmo_gsm_tester/process.py
+++ b/src/osmo_gsm_tester/process.py
@@ -104,7 +104,10 @@
time.sleep(wait_step)
def terminate_all(self):
- self.dbg("Scheduled to terminate %d processes." % len(self._processes))
+ num_processes = len(self._processes)
+ self.dbg("Scheduled to terminate %d processes." % num_processes)
+ if num_processes == 0:
+ return
self._prune_dead_processes(True)
self._build_process_map()
@@ -116,6 +119,8 @@
if sig == signal.SIGKILL:
continue
self._poll_for_termination()
+ if len(self._processes) == 0:
+ return
class Process(log.Origin):
diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index 85eca46..0738e96 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -244,6 +244,8 @@
self._processes.insert(0, (process, respawn))
def stop_processes(self):
+ if len(self._processes) == 0:
+ return
strategy = process.ParallelTerminationStrategy()
while self._processes:
proc, _ = self._processes.pop()