Skip to content

Commit 9f7e2e1

Browse files
authored
Merge pull request #2413 from ayasa520/fix-scanp
fix: Memory leak caused by scanp command due to handler's reference of plugin instance
2 parents 857ce1d + 2a351ca commit 9f7e2e1

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

plugins/plugin_manager.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ def activate_plugins(self): # 生成新开启的插件实例
151151
self.disable_plugin(name)
152152
failed_plugins.append(name)
153153
continue
154+
if name in self.instances:
155+
self.instances[name].handlers.clear()
154156
self.instances[name] = instance
155157
for event in instance.handlers:
156158
if event not in self.listening_plugins:
@@ -165,6 +167,8 @@ def reload_plugin(self, name: str):
165167
for event in self.listening_plugins:
166168
if name in self.listening_plugins[event]:
167169
self.listening_plugins[event].remove(name)
170+
if name in self.instances:
171+
self.instances[name].handlers.clear()
168172
del self.instances[name]
169173
self.activate_plugins()
170174
return True

0 commit comments

Comments
 (0)