summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-11-21 18:06:38 -0500
committerAdam <Adam@anope.org>2013-11-21 18:06:38 -0500
commite1264a5913a8e5869350521913f9e36841ae4cee (patch)
tree628f159f441c0b160eee1c7f2f46c6f0aea26838 /modules
parent18f423226cdac8039b0077e1fc63c0719160544f (diff)
Re-find dependant protocol modules on unload, they can be reloaded from under us while we are running
Diffstat (limited to 'modules')
-rw-r--r--modules/protocol/charybdis.cpp1
-rw-r--r--modules/protocol/inspircd20.cpp1
-rw-r--r--modules/protocol/plexus.cpp1
-rw-r--r--modules/protocol/ratbox.cpp1
4 files changed, 4 insertions, 0 deletions
diff --git a/modules/protocol/charybdis.cpp b/modules/protocol/charybdis.cpp
index e6584f90c..e007ea275 100644
--- a/modules/protocol/charybdis.cpp
+++ b/modules/protocol/charybdis.cpp
@@ -419,6 +419,7 @@ class ProtoCharybdis : public Module
~ProtoCharybdis()
{
+ m_ratbox = ModuleManager::FindModule("ratbox");
ModuleManager::UnloadModule(m_ratbox, NULL);
}
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index a170b6a5d..56194970a 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -741,6 +741,7 @@ class ProtoInspIRCd : public Module
~ProtoInspIRCd()
{
+ m_insp12 = ModuleManager::FindModule("inspircd12");
ModuleManager::UnloadModule(m_insp12, NULL);
}
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index 57a2f4669..f3da6f058 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -415,6 +415,7 @@ class ProtoPlexus : public Module
~ProtoPlexus()
{
+ m_hybrid = ModuleManager::FindModule("hybrid");
ModuleManager::UnloadModule(m_hybrid, NULL);
}
};
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 90bfa65a7..2b594be47 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -298,6 +298,7 @@ class ProtoRatbox : public Module
~ProtoRatbox()
{
+ m_hybrid = ModuleManager::FindModule("hybrid");
ModuleManager::UnloadModule(m_hybrid, NULL);
}
};