From 4b1d1ebe4179340780dec9abfd3cd400efcdb8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Mon, 1 Mar 2021 22:17:00 +0100 Subject: [PATCH] donate_cpu_lib.py: fixed potential hang in timeout handling (#3155) --- tools/donate_cpu_lib.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/donate_cpu_lib.py b/tools/donate_cpu_lib.py index 393aa2c11..0b8e5c320 100644 --- a/tools/donate_cpu_lib.py +++ b/tools/donate_cpu_lib.py @@ -16,7 +16,7 @@ import psutil # Version scheme (MAJOR.MINOR.PATCH) should orientate on "Semantic Versioning" https://semver.org/ # Every change in this script should result in increasing the version number accordingly (exceptions may be cosmetic # changes) -CLIENT_VERSION = "1.3.9" +CLIENT_VERSION = "1.3.10" # Timeout for analysis with Cppcheck in seconds CPPCHECK_TIMEOUT = 30 * 60 @@ -269,7 +269,11 @@ def run_command(cmd): if len(child_procs) > 0: for child in child_procs: child.terminate() - comm = p.communicate() + try: + # call with timeout since it might get stuck e.g. gcc-arm-none-eabi + comm = p.communicate(timeout=5) + except subprocess.TimeoutExpired: + pass p = None finally: if p: