diff options
| author | 2020-02-14 01:25:09 +0000 | |
|---|---|---|
| committer | 2020-02-14 01:36:35 +0000 | |
| commit | 8d5adb667fcdf05dc87b1091359b66ae7e12d090 (patch) | |
| tree | 237a41888025d253fda7cd42a94d744c076cd42b /src/modules.cpp | |
| parent | Fix GitHub Actions on macOS for real this time. (diff) | |
Clean up ModuleDLLManager from the Module::cull() method.
This avoids a leak which happens in some rare circumstances.
Diffstat (limited to 'src/modules.cpp')
| -rw-r--r-- | src/modules.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/modules.cpp b/src/modules.cpp index 2bb594a57..73bd2a5e2 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -64,6 +64,8 @@ Module::Module() CullResult Module::cull() { + if (ModuleDLLManager) + ServerInstance->GlobalCulls.AddItem(ModuleDLLManager); return classbase::cull(); } @@ -450,11 +452,8 @@ namespace UnloadAction(Module* m) : mod(m) {} void Call() CXX11_OVERRIDE { - DLLManager* dll = mod->ModuleDLLManager; ServerInstance->Modules->DoSafeUnload(mod); ServerInstance->GlobalCulls.Apply(); - // In pure static mode this is always NULL - delete dll; ServerInstance->GlobalCulls.AddItem(this); } }; |
