summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp19
1 files changed, 11 insertions, 8 deletions
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);