Merge pull request #2413 from ayasa520/fix-scanp

fix: Memory leak caused by scanp command due to handler's reference of plugin instance
This commit is contained in:
Saboteur7
2024-12-13 14:57:22 +08:00
committed by GitHub

View File

@@ -151,6 +151,8 @@ class PluginManager:
self.disable_plugin(name)
failed_plugins.append(name)
continue
if name in self.instances:
self.instances[name].handlers.clear()
self.instances[name] = instance
for event in instance.handlers:
if event not in self.listening_plugins:
@@ -165,6 +167,8 @@ class PluginManager:
for event in self.listening_plugins:
if name in self.listening_plugins[event]:
self.listening_plugins[event].remove(name)
if name in self.instances:
self.instances[name].handlers.clear()
del self.instances[name]
self.activate_plugins()
return True