From 77b0de3fedf130ce0d3b50bb2a2e8d98dcf5d3f4 Mon Sep 17 00:00:00 2001 From: peavey Date: Wed, 25 Jul 2007 15:07:27 +0000 Subject: 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 --- src/inspircd.cpp | 15 --------------- src/modules.cpp | 9 --------- src/server.cpp | 26 ++++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 26 deletions(-) (limited to 'src') 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; } - -- cgit v1.2.3