Allow lengthy block reconnections to be interrupted
When the coin database is out of date with the block database, the best block in it is automatically switched to. This reconnection process can take time, so allow it to be interrupted. This also stops block connection as soon as shutdown is requested, leading to a faster shutdown.
This commit is contained in:
@@ -345,7 +345,7 @@ void ThreadImport(void *data) {
|
||||
if (fReindex) {
|
||||
CImportingNow imp;
|
||||
int nFile = 0;
|
||||
while (!fShutdown) {
|
||||
while (!fRequestShutdown) {
|
||||
CDiskBlockPos pos(nFile, 0);
|
||||
FILE *file = OpenBlockFile(pos, true);
|
||||
if (!file)
|
||||
@@ -354,7 +354,7 @@ void ThreadImport(void *data) {
|
||||
LoadExternalBlockFile(file, &pos);
|
||||
nFile++;
|
||||
}
|
||||
if (!fShutdown) {
|
||||
if (!fRequestShutdown) {
|
||||
pblocktree->WriteReindexing(false);
|
||||
fReindex = false;
|
||||
printf("Reindexing finished\n");
|
||||
@@ -363,7 +363,7 @@ void ThreadImport(void *data) {
|
||||
|
||||
// hardcoded $DATADIR/bootstrap.dat
|
||||
filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
|
||||
if (filesystem::exists(pathBootstrap) && !fShutdown) {
|
||||
if (filesystem::exists(pathBootstrap) && !fRequestShutdown) {
|
||||
FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
|
||||
if (file) {
|
||||
CImportingNow imp;
|
||||
@@ -376,7 +376,7 @@ void ThreadImport(void *data) {
|
||||
|
||||
// -loadblock=
|
||||
BOOST_FOREACH(boost::filesystem::path &path, import->vFiles) {
|
||||
if (fShutdown)
|
||||
if (fRequestShutdown)
|
||||
break;
|
||||
FILE *file = fopen(path.string().c_str(), "rb");
|
||||
if (file) {
|
||||
|
||||
Reference in New Issue
Block a user