summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-11-11 17:53:57 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-11-11 17:53:57 +0000
commit05e88fcd544e3cc22cfdd080a829cf835531d6ee (patch)
treec1dc9339cab48008e4fe9290c303357bbba7c765 /src/inspircd.cpp
parent5e1f2c1728b200951c0f192f2e2c6b83d53c879c (diff)
Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index f21716e5b..e6d453ed2 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -489,7 +489,26 @@ InspIRCd::InspIRCd(int argc, char** argv)
this->Res = new DNS(this);
- Config->Read(true, NULL);
+ /* 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.
+ */
+ Config->Read(true, NULL, 0);
+ Config->StartDownloads();
+
+ /* Now the downloads are started, we monitor them for completion.
+ * On completion, we call Read again with pass = 1
+ */
+
+ while (Config->Downloading())
+ {
+ SE->DispatchEvents();
+ this->BufferedSocketCull();
+ }
+
+ /* We have all the files we can get, initiate pass 1 */
+ Config->Read(true, NULL, 1);
// Get XLine to do it's thing.
this->XLines->CheckELines();