Browse Source

Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true.

tags/v0.15.1
Ruben Dario Ponticelli 6 years ago
parent
commit
9ec75c5ef4
No account linked to committer's email address
1 changed files with 7 additions and 1 deletions
  1. 7
    1
      src/main.cpp

+ 7
- 1
src/main.cpp View File

@@ -1177,8 +1177,14 @@ bool IsInitialBlockDownload()
LOCK(cs_main);
if (fImporting || fReindex || chainActive.Height() < Checkpoints::GetTotalBlocksEstimate())
return true;
return (chainActive.Height() < pindexBestHeader->nHeight - 24 * 6 ||
static bool lockIBDState = false;
if (lockIBDState)
return false;
bool state = (chainActive.Height() < pindexBestHeader->nHeight - 24 * 6 ||
pindexBestHeader->GetBlockTime() < GetTime() - 24 * 60 * 60);
if (!state)
lockIBDState = true;
return state;
}

bool fLargeWorkForkFound = false;

Loading…
Cancel
Save