diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-11-11 17:53:57 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-11-11 17:53:57 +0000 |
commit | 05e88fcd544e3cc22cfdd080a829cf835531d6ee (patch) | |
tree | c1dc9339cab48008e4fe9290c303357bbba7c765 /src/inspircd.cpp | |
parent | 5e1f2c1728b200951c0f192f2e2c6b83d53c879c (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.cpp | 21 |
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(); |