X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=09f1e868505215d39988f5b12c12dae4a6a18e79;hb=d49e33b22c2cbb22bad71fb07ce8003dec8270cf;hp=d039d73142c50716623ec7ef5efd47a466e16bec;hpb=326191cd160e141958a2b3d536d37dabf7922568;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index d039d7314..09f1e8685 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -39,6 +39,7 @@ #include "typedefs.h" #include "command_parse.h" #include "exitcodes.h" +#include "caller.h" #ifdef WIN32 @@ -263,27 +264,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 @@ -406,7 +392,9 @@ void InspIRCd::WritePID(const std::string &filename) } InspIRCd::InspIRCd(int argc, char** argv) - : ModCount(-1), GlobalCulls(this) + : ModCount(0), + GlobalCulls(this), + HandleIsNick(this), IsNick(&HandleIsNick) { int found_ports = 0; FailedPortList pl;