diff options
| author | AAGaming <aagaming@riseup.net> | 2024-07-04 01:27:13 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-07-04 01:27:13 -0400 |
| commit | a45df8566ed207d126e5992bb7c870acd09a1864 (patch) | |
| tree | 52f63323244cd72ec9cd774144e131e4ed05fb51 /backend/decky_loader/plugin/plugin.py | |
| parent | 2b2a1d9e39addd03c357a1ba08f6241b980a2759 (diff) | |
| download | decky-loader-a45df8566ed207d126e5992bb7c870acd09a1864.tar.gz decky-loader-a45df8566ed207d126e5992bb7c870acd09a1864.zip | |
fix plugin uninstalls
Diffstat (limited to 'backend/decky_loader/plugin/plugin.py')
| -rw-r--r-- | backend/decky_loader/plugin/plugin.py | 6 |
1 files changed, 4 insertions, 2 deletions
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 |
