From a45df8566ed207d126e5992bb7c870acd09a1864 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Thu, 4 Jul 2024 01:27:13 -0400 Subject: fix plugin uninstalls --- backend/decky_loader/plugin/plugin.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'backend/decky_loader/plugin/plugin.py') diff --git a/backend/decky_loader/plugin/plugin.py b/backend/decky_loader/plugin/plugin.py index f4b01ad3..a9a9ce29 100644 --- a/backend/decky_loader/plugin/plugin.py +++ b/backend/decky_loader/plugin/plugin.py @@ -109,7 +109,7 @@ class PluginWrapper: def start(self): if self.passive: return self - self.proc = Process(target=self.sandboxed_plugin.initialize, args=[self._socket], daemon=True) + self.proc = Process(target=self.sandboxed_plugin.initialize, args=[self._socket]) self.proc.start() self._listener_task = create_task(self._response_listener()) return self @@ -121,9 +121,11 @@ class PluginWrapper: if hasattr(self, "_socket"): await self._socket.write_single_line(dumps({ "stop": True, "uninstall": uninstall }, ensure_ascii=False)) await self._socket.close_socket_connection() + if self.proc: + self.proc.join() + await self.kill_if_still_running() if hasattr(self, "_listener_task"): self._listener_task.cancel() - await self.kill_if_still_running() async def kill_if_still_running(self): time = 0 -- cgit v1.2.3