summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-02-24 14:09:02 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-02-24 14:09:02 +0000
commitd43120ca4a68006811b3645d0d9065ac098ddc65 (patch)
tree79511f8ab37007b3bb41bc139b26bc3808759d71 /src
parentfeda1f5f9b1046223b3cc109ecfc0d017243a023 (diff)
First part of my evil empire! BWAHAHAHAHAHAHAH...HAHAHAHA...AHAHAH *cough* err i mean... remote includes (BWAHAHAHA)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9013 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/configreader.cpp7
-rw-r--r--src/inspircd.cpp19
2 files changed, 18 insertions, 8 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index 92d2c9aea..a8c4dbaee 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -2305,3 +2305,10 @@ bool DoneELine(ServerConfig* conf, const char* tag)
conf->GetInstance()->XLines->CheckELines();
return true;
}
+
+void ConfigReaderThread::Run()
+{
+ ServerInstance->Config->Read(true, NULL, 0);
+ ServerInstance->Config->Read(true, NULL, 1);
+}
+
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 8999e7ccc..e1c40199a 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -308,6 +308,11 @@ InspIRCd::InspIRCd(int argc, char** argv)
SE = SEF->Create(this);
delete SEF;
+
+ ThreadEngineFactory* tef = new ThreadEngineFactory();
+ this->Threads = tef->Create(this);
+ delete tef;
+
this->s_signal = 0;
// Create base manager classes early, so nothing breaks
@@ -477,15 +482,13 @@ InspIRCd::InspIRCd(int argc, char** argv)
SE->RecoverFromFork();
- /* Read config, pass 0. At the end if this pass,
- * the Config->IncludeFiles is populated, we call
- * Config->StartDownloads to initialize the downlaods of all
- * these files.
+ /* During startup we don't actually initialize this
+ * in the thread engine.
*/
- Config->Read(true, NULL, 0);
- Config->DoDownloads();
- /* We have all the files we can get, initiate pass 1 */
- Config->Read(true, NULL, 1);
+ this->ConfigThread = new ConfigReaderThread(this);
+ ConfigThread->Run();
+ delete ConfigThread;
+ this->ConfigThread = NULL;
this->AddServerName(Config->ServerName);