summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2007-07-25 15:07:27 +0000
committerpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2007-07-25 15:07:27 +0000
commit77b0de3fedf130ce0d3b50bb2a2e8d98dcf5d3f4 (patch)
tree4c877dd9e3600ae64c98445201b40775495e2c47 /src
parentb9658bfe6d45e78136139f50edabb54caba8bdf4 (diff)
Begin move of rehash to server.cpp - broken rehash from cmdline for now.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/inspircd.cpp15
-rw-r--r--src/modules.cpp9
-rw-r--r--src/server.cpp26
3 files changed, 24 insertions, 26 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index d039d7314..4a53c2a05 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -263,27 +263,12 @@ void InspIRCd::Restart(const std::string &reason)
}
}
-void InspIRCd::Rehash(int status)
-{
- SI->WriteOpers("*** Rehashing config file %s due to SIGHUP",ServerConfig::CleanFilename(SI->ConfigFileName));
- SI->CloseLog();
- SI->OpenLog(SI->Config->argv, SI->Config->argc);
- SI->RehashUsersAndChans();
- FOREACH_MOD_I(SI, I_OnGarbageCollect, OnGarbageCollect());
- SI->Config->Read(false,NULL);
- SI->ResetMaxBans();
- SI->Res->Rehash();
- FOREACH_MOD_I(SI,I_OnRehash,OnRehash(NULL,""));
- SI->BuildISupport();
-}
-
void InspIRCd::ResetMaxBans()
{
for (chan_hash::const_iterator i = chanlist->begin(); i != chanlist->end(); i++)
i->second->ResetMaxBans();
}
-
/** Because hash_map doesnt free its buckets when we delete items (this is a 'feature')
* we must occasionally rehash the hash (yes really).
* We do this by copying the entries from the old hash to a new hash, causing all
diff --git a/src/modules.cpp b/src/modules.cpp
index 31216bef3..720de3b96 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -692,15 +692,6 @@ const std::string& InspIRCd::GetModuleName(Module* m)
return nothing; /* As above */
}
-void InspIRCd::RehashServer()
-{
- this->WriteOpers("*** Rehashing config file");
- this->RehashUsersAndChans();
- this->Config->Read(false,NULL);
- this->ResetMaxBans();
- this->Res->Rehash();
-}
-
/* This is ugly, yes, but hash_map's arent designed to be
* addressed in this manner, and this is a bit of a kludge.
* Luckily its a specialist function and rarely used by
diff --git a/src/server.cpp b/src/server.cpp
index 003ed044f..2ab452fc8 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -13,6 +13,30 @@
#include "inspircd.h"
+void InspIRCd::Rehash(int status)
+{
+/*
+ SI->WriteOpers("*** Rehashing config file %s due to SIGHUP",ServerConfig::CleanFilename(SI->ConfigFileName));
+ SI->CloseLog();
+ SI->OpenLog(SI->Config->argv, SI->Config->argc);
+ SI->RehashUsersAndChans();
+ FOREACH_MOD_I(SI, I_OnGarbageCollect, OnGarbageCollect());
+ SI->Config->Read(false,NULL);
+ SI->ResetMaxBans();
+ SI->Res->Rehash();
+ FOREACH_MOD_I(SI,I_OnRehash,OnRehash(NULL,""));
+ SI->BuildISupport();
+*/
+}
+
+void InspIRCd::RehashServer()
+{
+ this->WriteOpers("*** Rehashing config file");
+ this->RehashUsersAndChans();
+ this->Config->Read(false,NULL);
+ this->ResetMaxBans();
+ this->Res->Rehash();
+}
std::string InspIRCd::GetVersionString()
{
@@ -42,7 +66,6 @@ void InspIRCd::BuildISupport()
Config->Update005();
}
-
std::string InspIRCd::GetRevision()
{
return REVISION;
@@ -80,4 +103,3 @@ bool InspIRCd::FindServerName(const std::string &servername)
return false;
}
-