aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@exmulti.com>2012-10-20 13:36:36 -0700
committerJeff Garzik <jgarzik@exmulti.com>2012-10-20 13:36:36 -0700
commit38ac953b9df1f7a884c1ef0e94301e14c4e7477d (patch)
tree03ba74b23e9ccf077fc234e02af068cf40397fd1 /src/init.cpp
parentdee0ee2ac9d6feb49eac9683c01a0eeed4389449 (diff)
parent66b02c93e69cfeaec6e7fa19a03bfb2649025a56 (diff)
Merge pull request #1880 from sipa/threadimport
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