summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-13 03:28:56 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-13 03:28:56 +0000
commitdd737891345a7ff80f601ab0c0ba712de5e10943 (patch)
tree64697cad44a531d592e6b1ed67c960156ec9a920 /src/server.cpp
parent5862157a0889c0cb9a889a08b1dd0d9959c5b9e9 (diff)
Port a bunch of methods of InspIRCd to functors. IsChannel, IsSID, Rehash.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9474 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp31
1 files changed, 11 insertions, 20 deletions
diff --git a/src/server.cpp b/src/server.cpp
index a24a1092f..c713a028f 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -23,7 +23,7 @@ void InspIRCd::SignalHandler(int signal)
switch (signal)
{
case SIGHUP:
- Rehash();
+ Rehash("due to SIGHUP");
break;
case SIGTERM:
Exit(signal);
@@ -44,33 +44,24 @@ void InspIRCd::Exit(int status)
exit (status);
}
-void InspIRCd::Rehash()
+void RehashHandler::Call(const std::string &reason)
{
- this->SNO->WriteToSnoMask('A', "Rehashing config file %s due to SIGHUP",ServerConfig::CleanFilename(this->ConfigFileName));
- this->RehashUsersAndChans();
- FOREACH_MOD_I(this, I_OnGarbageCollect, OnGarbageCollect());
- if (!this->ConfigThread)
+ Server->SNO->WriteToSnoMask('A', "Rehashing config file %s %s",ServerConfig::CleanFilename(Server->ConfigFileName), reason.c_str());
+ Server->RehashUsersAndChans();
+ FOREACH_MOD_I(Server, I_OnGarbageCollect, OnGarbageCollect());
+ if (!Server->ConfigThread)
{
- Config->RehashUser = NULL;
- Config->RehashParameter = "";
+ Server->Config->RehashUser = NULL;
+ Server->Config->RehashParameter = "";
- ConfigThread = new ConfigReaderThread(this, false, NULL);
- Threads->Create(ConfigThread);
+ Server->ConfigThread = new ConfigReaderThread(Server, false, NULL);
+ Server->Threads->Create(Server->ConfigThread);
}
}
void InspIRCd::RehashServer()
{
- this->SNO->WriteToSnoMask('A', "Rehashing config file");
- this->RehashUsersAndChans();
- if (!this->ConfigThread)
- {
- Config->RehashUser = NULL;
- Config->RehashParameter = "";
-
- ConfigThread = new ConfigReaderThread(this, false, NULL);
- Threads->Create(ConfigThread);
- }
+ this->Rehash("");
}
std::string InspIRCd::GetVersionString()