From 6cb545c78da982e6ffc46f45e1578f4226d6413c Mon Sep 17 00:00:00 2001 From: Jan Date: Sat, 11 Nov 2023 21:50:23 +0100 Subject: Check if Linux service is running before trying to start or stop it (#540) this prevents needless prompts opening up --- backend/decky_loader/localplatform/localplatformlinux.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/decky_loader/localplatform/localplatformlinux.py b/backend/decky_loader/localplatform/localplatformlinux.py index d5bea6ab..9bbb59a7 100644 --- a/backend/decky_loader/localplatform/localplatformlinux.py +++ b/backend/decky_loader/localplatform/localplatformlinux.py @@ -125,11 +125,19 @@ async def service_restart(service_name : str) -> bool: return res.returncode == 0 async def service_stop(service_name : str) -> bool: + if not await service_active(service_name): + # Service isn't running. pretend we stopped it + return True + cmd = ["systemctl", "stop", service_name] res = run(cmd, stdout=PIPE, stderr=STDOUT) return res.returncode == 0 async def service_start(service_name : str) -> bool: + if await service_active(service_name): + # Service is running. pretend we started it + return True + cmd = ["systemctl", "start", service_name] res = run(cmd, stdout=PIPE, stderr=STDOUT) return res.returncode == 0 -- cgit v1.2.3