forked from Qortal/qortal
Added a few checks for Controller.isStopping() in synchronizer loops, to try and speed up the shutdown time.
This commit is contained in:
parent
e89d31eb5a
commit
c3e5298ecd
@ -257,9 +257,13 @@ public class Synchronizer {
|
|||||||
// Currently we work forward from common block until we hit a block we don't have
|
// Currently we work forward from common block until we hit a block we don't have
|
||||||
// TODO: rewrite as modified binary search!
|
// TODO: rewrite as modified binary search!
|
||||||
int i;
|
int i;
|
||||||
for (i = 1; i < blockSummariesFromCommon.size(); ++i)
|
for (i = 1; i < blockSummariesFromCommon.size(); ++i) {
|
||||||
|
if (Controller.isStopping())
|
||||||
|
return SynchronizationResult.SHUTTING_DOWN;
|
||||||
|
|
||||||
if (!repository.getBlockRepository().exists(blockSummariesFromCommon.get(i).getSignature()))
|
if (!repository.getBlockRepository().exists(blockSummariesFromCommon.get(i).getSignature()))
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Note: index i - 1 isn't cleared: List.subList is fromIndex inclusive to toIndex exclusive
|
// Note: index i - 1 isn't cleared: List.subList is fromIndex inclusive to toIndex exclusive
|
||||||
blockSummariesFromCommon.subList(0, i - 1).clear();
|
blockSummariesFromCommon.subList(0, i - 1).clear();
|
||||||
@ -308,6 +312,9 @@ public class Synchronizer {
|
|||||||
|
|
||||||
// Check peer sent valid heights
|
// Check peer sent valid heights
|
||||||
for (int i = 0; i < moreBlockSummaries.size(); ++i) {
|
for (int i = 0; i < moreBlockSummaries.size(); ++i) {
|
||||||
|
if (Controller.isStopping())
|
||||||
|
return SynchronizationResult.SHUTTING_DOWN;
|
||||||
|
|
||||||
++lastSummaryHeight;
|
++lastSummaryHeight;
|
||||||
|
|
||||||
BlockSummaryData blockSummary = moreBlockSummaries.get(i);
|
BlockSummaryData blockSummary = moreBlockSummaries.get(i);
|
||||||
@ -645,6 +652,9 @@ public class Synchronizer {
|
|||||||
final int firstBlockHeight = blockSummaries.get(0).getHeight();
|
final int firstBlockHeight = blockSummaries.get(0).getHeight();
|
||||||
|
|
||||||
for (int i = 0; i < blockSummaries.size(); ++i) {
|
for (int i = 0; i < blockSummaries.size(); ++i) {
|
||||||
|
if (Controller.isStopping())
|
||||||
|
return;
|
||||||
|
|
||||||
BlockSummaryData blockSummary = blockSummaries.get(i);
|
BlockSummaryData blockSummary = blockSummaries.get(i);
|
||||||
|
|
||||||
// Qortal: minter is always a reward-share, so find actual minter and get their effective minting level
|
// Qortal: minter is always a reward-share, so find actual minter and get their effective minting level
|
||||||
|
Loading…
x
Reference in New Issue
Block a user