summaryrefslogtreecommitdiff
path: root/backend/decky_loader/loader.py
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2024-07-03 20:08:30 -0400
committerAAGaming <aagaming@riseup.net>2024-07-03 20:08:30 -0400
commit2c4edeb810d740abfacc0dbded7626f9323ade77 (patch)
tree0f74b9ba928326df586cd1c0a8042d6fb462230e /backend/decky_loader/loader.py
parentb32fa7948fbae0648fc66f1ed83bea7b35b87476 (diff)
downloaddecky-loader-2c4edeb810d740abfacc0dbded7626f9323ade77.tar.gz
decky-loader-2c4edeb810d740abfacc0dbded7626f9323ade77.zip
implement a shutdown routine instead of just waiting for all plugins to stop on their own
Diffstat (limited to 'backend/decky_loader/loader.py')
-rw-r--r--backend/decky_loader/loader.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py
index e8a073a9..e7abb889 100644
--- a/backend/decky_loader/loader.py
+++ b/backend/decky_loader/loader.py
@@ -1,5 +1,5 @@
from __future__ import annotations
-from asyncio import AbstractEventLoop, Queue, sleep
+from asyncio import AbstractEventLoop, Queue, gather, sleep
from logging import getLogger
from os import listdir, path
from pathlib import Path
@@ -98,6 +98,9 @@ class Loader:
server_instance.ws.add_route("loader/call_plugin_method", self.handle_plugin_method_call)
server_instance.ws.add_route("loader/call_legacy_plugin_method", self.handle_plugin_method_call_legacy)
+ async def shutdown_plugins(self):
+ await gather(*[self.plugins[plugin_name].stop() for plugin_name in self.plugins])
+
async def enable_reload_wait(self):
if self.live_reload:
await sleep(10)