Browse Source

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

0.10
Ruben Dario Ponticelli 10 years ago
parent
commit
9ec75c5ef4
No known key found for this signature in database
GPG Key ID: 7D7A89C6DF7B2D
  1. 8
      src/main.cpp

8
src/main.cpp

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

Loading…
Cancel
Save