From 6656640d353f53e7a1fe7700b90130fdd3768fcf Mon Sep 17 00:00:00 2001 From: Trey Moen Date: Mon, 19 May 2025 00:06:39 -0700 Subject: [PATCH] handle timeouts --- system/hardware/tici/esim.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/system/hardware/tici/esim.py b/system/hardware/tici/esim.py index 54eafa23f5..cbc38e5b18 100755 --- a/system/hardware/tici/esim.py +++ b/system/hardware/tici/esim.py @@ -22,7 +22,12 @@ class LPA: def _invoke(self, cmd): ret = subprocess.Popen(['sudo', 'lpac', *cmd], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=self.env) - out, err = ret.communicate(timeout=self.timeout_sec) + try: + out, err = ret.communicate(timeout=self.timeout_sec) + except subprocess.TimeoutExpired as e: + ret.kill() + raise LPAError(f"lpac {cmd} timed out after {self.timeout_sec} seconds") from e + if ret.returncode != 0: raise Exception(f"lpac {cmd} failed: {err}")