aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorGravatar brain2008-02-24 18:52:31 +0000
committerGravatar brain2008-02-24 18:52:31 +0000
commita36fa98300016380378100260a58b2f297a08f72 (patch)
tree3ebf513dcc2b41929e535b0577ffee8792fc0a98 /src/inspircd.cpp
parentAdd mutexes to this to make it a bit more threadsafe (diff)
More stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9026 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index aaad2746a..de725d0e1 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -636,6 +636,20 @@ int InspIRCd::Run()
static char window_title[100];
#endif
+ if (this->ConfigThread && this->ConfigThread->GetExitFlag())
+ {
+ /* Rehash has completed */
+ this->Logs->Log("CONFIG",DEBUG,"Detected ConfigThread exiting, tidying up...");
+ delete ConfigThread;
+ this->XLines->CheckELines();
+ this->XLines->ApplyLines();
+ this->Res->Rehash();
+ this->ResetMaxBans();
+ InitializeDisabledCommands(Config->DisabledCommands, this);
+ FOREACH_MOD_I(this, I_OnRehash, OnRehash(Config->RehashUser, Config->RehashParameter));
+ this->BuildISupport();
+ }
+
/* time() seems to be a pretty expensive syscall, so avoid calling it too much.
* Once per loop iteration is pleanty.
*/