From 774110eef9ddf65afcd538d3cca2d55576634996 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Wed, 29 Aug 2012 16:01:30 -0700 Subject: [PATCH] Fix a bug that could cause an idle ledger to spend insufficient time establishing a consensus. --- src/LedgerConsensus.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/LedgerConsensus.cpp b/src/LedgerConsensus.cpp index 432d619f26..08df045123 100644 --- a/src/LedgerConsensus.cpp +++ b/src/LedgerConsensus.cpp @@ -200,6 +200,8 @@ LedgerConsensus::LedgerConsensus(const uint256& prevLCLHash, const Ledger::point mCurrentMSeconds(0), mClosePercent(0), mHaveCloseTimeConsensus(false) { mValSeed = theConfig.VALIDATION_SEED; + mConsensusStartTime = boost::posix_time::microsec_clock::universal_time(); + Log(lsDEBUG) << "Creating consensus object"; Log(lsTRACE) << "LCL:" << previousLedger->getHash().GetHex() <<", ct=" << closeTime; mPreviousProposers = theApp->getOPs().getPreviousProposers(); @@ -491,8 +493,8 @@ void LedgerConsensus::timerEntry() Log(lsINFO) << "Need consensus ledger " << mPrevLedgerHash.GetHex(); } - mCurrentMSeconds = (mCloseTime == 0) ? 0 : - (boost::posix_time::microsec_clock::universal_time() - mConsensusStartTime).total_milliseconds(); + mCurrentMSeconds = + (boost::posix_time::microsec_clock::universal_time() - mConsensusStartTime).total_milliseconds(); mClosePercent = mCurrentMSeconds * 100 / mPreviousMSeconds; switch (mState)