X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=de725d0e1601f14bfafd5325a3e4edebab1d69e5;hb=a36fa98300016380378100260a58b2f297a08f72;hp=aaad2746ada3a7206134ebaad5a5e6371e5f1556;hpb=b119a88b55e7f5f3260ff21e78a5c9d1cf491cc8;p=user%2Fhenk%2Fcode%2Finspircd.git 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. */