From 909bab400ba000f1022acb9e2983b750a489cbe9 Mon Sep 17 00:00:00 2001 From: "NGnius (Graham)" Date: Tue, 4 Apr 2023 19:30:40 -0400 Subject: [PATCH] Add _unload to decky template --- templates/decky/main.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/templates/decky/main.py b/templates/decky/main.py index 3e7acb9..2bf9b18 100644 --- a/templates/decky/main.py +++ b/templates/decky/main.py @@ -11,6 +11,18 @@ class Plugin: # Asyncio-compatible long-running code, executed in a task when the plugin is loaded async def _main(self): # startup - self.backend_proc = subprocess.Popen([PARENT_DIR + "/bin/backend"]) + self.backend_proc = subprocess.Popen( + [PARENT_DIR + "/bin/backend"], + env = dict(os.environ)) while True: await asyncio.sleep(1) + + async def _unload(self): + # shutdown + if self.backend_proc is not None: + self.backend_proc.terminate() + try: + self.backend_proc.wait(timeout=5) # 5 seconds timeout + except subprocess.TimeoutExpired: + self.backend_proc.kill() + self.backend_proc = None