X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=94dd41da0a0c21a5094d9c020f44cdfa0699eaf7;hb=e62516014fdbc13a0baf9b869b747300bfdccbc7;hp=10143b54b8e55040c6e8cc044eddef18675cc5b6;hpb=ae6acab1ba3ddc144c599d5434bbcf6f1efa37ad;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 10143b54b..94dd41da0 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -135,6 +135,7 @@ void InspIRCd::Cleanup() /* Delete objects dynamically allocated in constructor (destructor would be more appropriate, but we're likely exiting) */ /* Must be deleted before modes as it decrements modelines */ + DeleteZero(this->FakeClient); DeleteZero(this->Users); DeleteZero(this->Modes); DeleteZero(this->XLines); @@ -149,6 +150,7 @@ void InspIRCd::Cleanup() DeleteZero(this->PI); DeleteZero(this->Threads); DeleteZero(this->Timers); + DeleteZero(this->SE); /* Close logging */ this->Logs->CloseLogs(); DeleteZero(this->Logs); @@ -315,9 +317,7 @@ void InspIRCd::WritePID(const std::string &filename) } } -InspIRCd::InspIRCd(int argc, char** argv) - : GlobalCulls(this), - +InspIRCd::InspIRCd(int argc, char** argv) : /* Functor initialisation. Note that the ordering here is very important. * * THIS MUST MATCH ORDER OF DECLARATION OF THE HandleWhateverFunc classes @@ -866,12 +866,9 @@ void InspIRCd::BufferedSocketCull() */ bool InspIRCd::AllModulesReportReady(User* user) { - for (EventHandlerIter i = Modules->EventHandlers[I_OnCheckReady].begin(); i != Modules->EventHandlers[I_OnCheckReady].end(); ++i) - { - if (!(*i)->OnCheckReady(user)) - return false; - } - return true; + ModResult res; + FIRST_MOD_RESULT(this, OnCheckReady, res, (user)); + return (res == MOD_RES_PASSTHRU); } time_t InspIRCd::Time()