Move ThreadImport to init.cpp
This commit is contained in:
parent
05d9726805
commit
7a5b7535bf
44
src/init.cpp
44
src/init.cpp
@ -310,6 +310,50 @@ std::string HelpMessage()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct CImportingNow
|
||||||
|
{
|
||||||
|
CImportingNow() {
|
||||||
|
assert(fImporting == false);
|
||||||
|
fImporting = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
~CImportingNow() {
|
||||||
|
assert(fImporting == true);
|
||||||
|
fImporting = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void ThreadImport(void *data) {
|
||||||
|
std::vector<boost::filesystem::path> *vFiles = reinterpret_cast<std::vector<boost::filesystem::path>*>(data);
|
||||||
|
|
||||||
|
RenameThread("bitcoin-loadblk");
|
||||||
|
|
||||||
|
CImportingNow imp;
|
||||||
|
vnThreadsRunning[THREAD_IMPORT]++;
|
||||||
|
|
||||||
|
// -loadblock=
|
||||||
|
BOOST_FOREACH(boost::filesystem::path &path, *vFiles) {
|
||||||
|
FILE *file = fopen(path.string().c_str(), "rb");
|
||||||
|
if (file)
|
||||||
|
LoadExternalBlockFile(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
// hardcoded $DATADIR/bootstrap.dat
|
||||||
|
filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
|
||||||
|
if (filesystem::exists(pathBootstrap)) {
|
||||||
|
FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
|
||||||
|
if (file) {
|
||||||
|
filesystem::path pathBootstrapOld = GetDataDir() / "bootstrap.dat.old";
|
||||||
|
LoadExternalBlockFile(file);
|
||||||
|
RenameOver(pathBootstrap, pathBootstrapOld);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
delete vFiles;
|
||||||
|
|
||||||
|
vnThreadsRunning[THREAD_IMPORT]--;
|
||||||
|
}
|
||||||
|
|
||||||
/** Initialize bitcoin.
|
/** Initialize bitcoin.
|
||||||
* @pre Parameters should be parsed and config file should be read.
|
* @pre Parameters should be parsed and config file should be read.
|
||||||
*/
|
*/
|
||||||
|
44
src/main.cpp
44
src/main.cpp
@ -2532,50 +2532,6 @@ bool LoadExternalBlockFile(FILE* fileIn)
|
|||||||
return nLoaded > 0;
|
return nLoaded > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct CImportingNow
|
|
||||||
{
|
|
||||||
CImportingNow() {
|
|
||||||
assert(fImporting == false);
|
|
||||||
fImporting = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
~CImportingNow() {
|
|
||||||
assert(fImporting == true);
|
|
||||||
fImporting = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void ThreadImport(void *data) {
|
|
||||||
std::vector<boost::filesystem::path> *vFiles = reinterpret_cast<std::vector<boost::filesystem::path>*>(data);
|
|
||||||
|
|
||||||
RenameThread("bitcoin-loadblk");
|
|
||||||
|
|
||||||
CImportingNow imp;
|
|
||||||
vnThreadsRunning[THREAD_IMPORT]++;
|
|
||||||
|
|
||||||
// -loadblock=
|
|
||||||
BOOST_FOREACH(boost::filesystem::path &path, *vFiles) {
|
|
||||||
FILE *file = fopen(path.string().c_str(), "rb");
|
|
||||||
if (file)
|
|
||||||
LoadExternalBlockFile(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// hardcoded $DATADIR/bootstrap.dat
|
|
||||||
filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
|
|
||||||
if (filesystem::exists(pathBootstrap)) {
|
|
||||||
FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
|
|
||||||
if (file) {
|
|
||||||
filesystem::path pathBootstrapOld = GetDataDir() / "bootstrap.dat.old";
|
|
||||||
LoadExternalBlockFile(file);
|
|
||||||
RenameOver(pathBootstrap, pathBootstrapOld);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
delete vFiles;
|
|
||||||
|
|
||||||
vnThreadsRunning[THREAD_IMPORT]--;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -113,6 +113,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock);
|
|||||||
bool CheckDiskSpace(uint64 nAdditionalBytes=0);
|
bool CheckDiskSpace(uint64 nAdditionalBytes=0);
|
||||||
FILE* OpenBlockFile(const CDiskBlockPos &pos, bool fReadOnly = false);
|
FILE* OpenBlockFile(const CDiskBlockPos &pos, bool fReadOnly = false);
|
||||||
FILE* OpenUndoFile(const CDiskBlockPos &pos, bool fReadOnly = false);
|
FILE* OpenUndoFile(const CDiskBlockPos &pos, bool fReadOnly = false);
|
||||||
|
bool LoadExternalBlockFile(FILE* fileIn);
|
||||||
bool LoadBlockIndex(bool fAllowNew=true);
|
bool LoadBlockIndex(bool fAllowNew=true);
|
||||||
void PrintBlockTree();
|
void PrintBlockTree();
|
||||||
CBlockIndex* FindBlockByHeight(int nHeight);
|
CBlockIndex* FindBlockByHeight(int nHeight);
|
||||||
|
Loading…
Reference in New Issue
Block a user