aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2012-09-13 14:33:52 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2012-10-20 01:54:10 +0200
commit66b02c93e69cfeaec6e7fa19a03bfb2649025a56 (patch)
tree414db7d5088d03e29963974fce490567e25e8649 /src/init.cpp
parent485d667748b776a1932e3e14dc1b9dfe2ba841d0 (diff)
Move external block import to separate thread
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 8a928218b2..92c752a8f5 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -776,29 +776,13 @@ bool AppInit2()
// ********************************************************* Step 9: import blocks
+ std::vector<boost::filesystem::path> *vPath = new std::vector<boost::filesystem::path>();
if (mapArgs.count("-loadblock"))
{
- uiInterface.InitMessage(_("Importing blockchain data file."));
-
BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"])
- {
- FILE *file = fopen(strFile.c_str(), "rb");
- if (file)
- LoadExternalBlockFile(file);
- }
- }
-
- filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
- if (filesystem::exists(pathBootstrap)) {
- uiInterface.InitMessage(_("Importing bootstrap blockchain data file."));
-
- FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
- if (file) {
- filesystem::path pathBootstrapOld = GetDataDir() / "bootstrap.dat.old";
- LoadExternalBlockFile(file);
- RenameOver(pathBootstrap, pathBootstrapOld);
- }
+ vPath->push_back(strFile);
}
+ NewThread(ThreadImport, vPath);
// ********************************************************* Step 10: load peers