mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-06-16 03:37:39 +08:00
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:
@@ -151,6 +151,8 @@ class PluginManager:
|
|||||||
self.disable_plugin(name)
|
self.disable_plugin(name)
|
||||||
failed_plugins.append(name)
|
failed_plugins.append(name)
|
||||||
continue
|
continue
|
||||||
|
if name in self.instances:
|
||||||
|
self.instances[name].handlers.clear()
|
||||||
self.instances[name] = instance
|
self.instances[name] = instance
|
||||||
for event in instance.handlers:
|
for event in instance.handlers:
|
||||||
if event not in self.listening_plugins:
|
if event not in self.listening_plugins:
|
||||||
@@ -165,6 +167,8 @@ class PluginManager:
|
|||||||
for event in self.listening_plugins:
|
for event in self.listening_plugins:
|
||||||
if name in self.listening_plugins[event]:
|
if name in self.listening_plugins[event]:
|
||||||
self.listening_plugins[event].remove(name)
|
self.listening_plugins[event].remove(name)
|
||||||
|
if name in self.instances:
|
||||||
|
self.instances[name].handlers.clear()
|
||||||
del self.instances[name]
|
del self.instances[name]
|
||||||
self.activate_plugins()
|
self.activate_plugins()
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user