summaryrefslogtreecommitdiff
path: root/plugin_loader/plugin.py
diff options
context:
space:
mode:
authortza <marios8543@gmail.com>2022-04-13 23:50:26 +0300
committertza <marios8543@gmail.com>2022-04-13 23:50:26 +0300
commit6694d5ab714cd27c88d51e2561a898718f2e8e69 (patch)
treeb8139d8aa4200e2c561edc7badb22bc4c0715f1a /plugin_loader/plugin.py
parentc084abecfc039fd5bdfcb08d7b56c66ddb10839e (diff)
downloaddecky-loader-6694d5ab714cd27c88d51e2561a898718f2e8e69.tar.gz
decky-loader-6694d5ab714cd27c88d51e2561a898718f2e8e69.zip
fixed passive plugin reload bug and close event loop properly
Diffstat (limited to 'plugin_loader/plugin.py')
-rw-r--r--plugin_loader/plugin.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugin_loader/plugin.py b/plugin_loader/plugin.py
index 04feeb27..033d36fc 100644
--- a/plugin_loader/plugin.py
+++ b/plugin_loader/plugin.py
@@ -45,7 +45,9 @@ class PluginWrapper:
while True:
data = loads((await reader.readline()).decode("utf-8"))
if "stop" in data:
- return get_event_loop().stop()
+ get_event_loop().stop()
+ get_event_loop().close()
+ return
d = {"res": None, "success": True}
try:
d["res"] = await getattr(self.Plugin, data["method"])(self.Plugin, **data["args"])
@@ -82,6 +84,7 @@ class PluginWrapper:
await self._open_socket_if_not_exists()
self.writer.write((dumps({"stop": True})+"\n").encode("utf-8"))
await self.writer.drain()
+ self.writer.close()
loop.create_task(_(self))
async def execute_method(self, method_name, kwargs):