From: Attila Molnar Date: Sun, 30 Nov 2014 17:24:17 +0000 (+0100) Subject: Don't submit a reload worker if the module doing the reload is scheduled for unload X-Git-Tag: v2.0.23~97 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=c5f19db85c2a2669884eb8ac72362c86afb65617;hp=a2f23523cff4dcc7dfac60781027fc90074c1ebd;p=user%2Fhenk%2Fcode%2Finspircd.git Don't submit a reload worker if the module doing the reload is scheduled for unload --- diff --git a/src/commands/cmd_reloadmodule.cpp b/src/commands/cmd_reloadmodule.cpp index 81ecce1cb..eac364f0e 100644 --- a/src/commands/cmd_reloadmodule.cpp +++ b/src/commands/cmd_reloadmodule.cpp @@ -66,7 +66,7 @@ CmdResult CommandReloadmodule::Handle (const std::vector& parameter Module* m = ServerInstance->Modules->Find(parameters[0]); if (m) { - ServerInstance->Modules->Reload(m, new ReloadModuleWorker(user->uuid, parameters[0])); + ServerInstance->Modules->Reload(m, (creator->dying ? NULL : new ReloadModuleWorker(user->uuid, parameters[0]))); return CMD_SUCCESS; } else diff --git a/src/modules/m_globalload.cpp b/src/modules/m_globalload.cpp index 9e0ec7705..aed65045f 100644 --- a/src/modules/m_globalload.cpp +++ b/src/modules/m_globalload.cpp @@ -151,7 +151,7 @@ class CommandGreloadmodule : public Command if (m) { GReloadModuleWorker* worker = NULL; - if (m != creator) + if ((m != creator) && (!creator->dying)) worker = new GReloadModuleWorker(user->nick, user->uuid, parameters[0]); ServerInstance->Modules->Reload(m, worker); }