From: Jannis Harder Date: Mon, 25 Apr 2022 13:43:59 +0000 (+0200) Subject: Use monotonic clock for timeouts X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d1c04f79d64a07097556cbccf765bcb0e09dee96;p=SymbiYosys.git Use monotonic clock for timeouts --- diff --git a/sbysrc/sby_core.py b/sbysrc/sby_core.py index eec0fe6..2e092c4 100644 --- a/sbysrc/sby_core.py +++ b/sbysrc/sby_core.py @@ -22,7 +22,7 @@ if os.name == "posix": import subprocess from shutil import copyfile, copytree, rmtree from select import select -from time import time, localtime, sleep, strftime +from time import monotonic, localtime, sleep, strftime from sby_design import SbyProperty, SbyModule, design_hierarchy all_procs_running = [] @@ -349,7 +349,7 @@ class SbyTask(SbyConfig): self.procs_running = [] self.procs_pending = [] - self.start_clock_time = time() + self.start_clock_time = monotonic() if os.name == "posix": ru = resource.getrusage(resource.RUSAGE_CHILDREN) @@ -392,7 +392,7 @@ class SbyTask(SbyConfig): proc.poll() if self.opt_timeout is not None: - total_clock_time = int(time() - self.start_clock_time) + total_clock_time = int(monotonic() - self.start_clock_time) if total_clock_time > self.opt_timeout: self.log(f"Reached TIMEOUT ({self.opt_timeout} seconds). Terminating all subprocesses.") self.status = "TIMEOUT" @@ -734,7 +734,7 @@ class SbyTask(SbyConfig): self.taskloop() - total_clock_time = int(time() - self.start_clock_time) + total_clock_time = int(monotonic() - self.start_clock_time) if os.name == "posix": ru = resource.getrusage(resource.RUSAGE_CHILDREN)