From debcea79f0b82efb735024ca6267bc4813b0adaf Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Fri, 3 Aug 2012 03:46:31 -0700 Subject: [PATCH] Don't switch to our own previous ledger. --- src/NetworkOPs.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/NetworkOPs.cpp b/src/NetworkOPs.cpp index 514bdceba0..8d0ffd9cec 100644 --- a/src/NetworkOPs.cpp +++ b/src/NetworkOPs.cpp @@ -415,6 +415,7 @@ bool NetworkOPs::checkLastClosedLedger(const std::vector& peerLis Ledger::pointer ourClosed = mLedgerMaster->getClosedLedger(); uint256 closedLedger = ourClosed->getHash(); + uint256 prevClosedLedger = ourClosed->getParentHash(); ValidationCount& ourVC = ledgers[closedLedger]; if ((theConfig.LEDGER_CREATOR) && (mMode >= omTRACKING)) @@ -459,7 +460,14 @@ bool NetworkOPs::checkLastClosedLedger(const std::vector& peerLis switchLedgers = true; } } - networkClosed = closedLedger; + + if (switchLedger && (closedLedger == prevClosedLedger)) + { // don't switch to our own previous ledger + NetworkClosed = ourClosed->getHash(); + switchLedgers = false; + } + else + networkClosed = closedLedger; if (!switchLedgers) {