summaryrefslogtreecommitdiff
path: root/backend/decky_loader/plugin/plugin.py
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2024-07-04 01:27:13 -0400
committerAAGaming <aagaming@riseup.net>2024-07-04 01:27:13 -0400
commita45df8566ed207d126e5992bb7c870acd09a1864 (patch)
tree52f63323244cd72ec9cd774144e131e4ed05fb51 /backend/decky_loader/plugin/plugin.py
parent2b2a1d9e39addd03c357a1ba08f6241b980a2759 (diff)
downloaddecky-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.py6
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