diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-31 15:53:03 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-31 15:53:03 +0000 |
commit | 7a60f99d070ce67ad2dfbb2193f1d82e2d0def12 (patch) | |
tree | 7d3b99006e126ebdf8652f93318c767aec9771d3 /src | |
parent | 0c3eeb1ae4888d0e761f852c0073ab57ad628d0b (diff) |
Reorder creation of objects so:
1) they are all done in the same place
2) calling InspIRCd::Exit() early on (before initialising a few things is done) doesn't crash us ;p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8426 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/inspircd.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index f671c9545..2f00b9f2e 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -324,7 +324,14 @@ InspIRCd::InspIRCd(int argc, char** argv) this->uuidlist = new user_hash(); this->chanlist = new chan_hash(); + this->Config = new ServerConfig(this); + this->SNO = new SnomaskManager(this); + this->Modules = new ModuleManager(this); + this->stats = new serverstats(); + this->Timers = new TimerManager(this); + this->Parser = new CommandParser(this); + this->XLines = new XLineManager(this); this->Config->argv = argv; this->Config->argc = argc; @@ -337,7 +344,7 @@ InspIRCd::InspIRCd(int argc, char** argv) this->Config->opertypes.clear(); this->Config->operclass.clear(); - this->SNO = new SnomaskManager(this); + this->TIME = this->OLDTIME = this->startup_time = time(NULL); this->time_delta = 0; srand(this->TIME); @@ -425,14 +432,7 @@ InspIRCd::InspIRCd(int argc, char** argv) /* Set the finished argument values */ Config->nofork = do_nofork; Config->forcedebug = do_debug; - Config->writelog = !do_nolog; - - this->Modules = new ModuleManager(this); - this->stats = new serverstats(); - this->Timers = new TimerManager(this); - this->Parser = new CommandParser(this); - this->XLines = new XLineManager(this); - + Config->writelog = !do_nolog; Config->ClearStack(); Config->Read(true, NULL); |