summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index f0d007cb9..dd1be77d9 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -3269,6 +3269,12 @@ bool UnloadModule(const char* filename)
{
if (module_names[j] == std::string(filename))
{
+ if (factory[j]->factory->GetVersion().Flags & VF_STATIC)
+ {
+ log(DEFAULT,"Failed to unload STATIC module %s",filename);
+ snprintf(MODERR,MAXBUF,"Module not unloadable (marked static)");
+ return false;
+ }
// found the module
log(DEBUG,"Deleting module...");
delete factory[j]->factory;