From 39f4f2870b4c0924421130a3f532c07320938e97 Mon Sep 17 00:00:00 2001 From: Jan Date: Sat, 16 Dec 2023 03:07:54 +0100 Subject: Call plugin unload function after stopping event loop (#539) This can prevent race conditions where unload is clearing data but main is still working with it --- backend/src/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/plugin.py b/backend/src/plugin.py index b57bc5f7..ed401b45 100644 --- a/backend/src/plugin.py +++ b/backend/src/plugin.py @@ -118,11 +118,11 @@ class PluginWrapper: if "stop" in data: self.log.info("Calling Loader unload function.") - await self._unload() get_event_loop().stop() while get_event_loop().is_running(): await sleep(0) get_event_loop().close() + await self._unload() raise Exception("Closing message listener") # TODO there is definitely a better way to type this -- cgit v1.2.3