From 2e2547ad0a6a72d0d7cf5609e7992668e8f20fc1 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 15 Jul 2012 23:46:38 -0700 Subject: [PATCH] Close time fixes. --- src/Ledger.cpp | 1 + src/LedgerConsensus.cpp | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Ledger.cpp b/src/Ledger.cpp index 789384f011..de44f9f4ad 100644 --- a/src/Ledger.cpp +++ b/src/Ledger.cpp @@ -154,6 +154,7 @@ void Ledger::setAccepted(uint32 closeTime, int closeResolution, bool correctClos void Ledger::setAccepted() { // used when we acquired the ledger assert(mClosed && (mCloseResolution != 0) && (mCloseResolution != 0)); + mCloseTime -= mCloseTime % mCloseResolution; updateHash(); mAccepted = true; mImmutable = true; diff --git a/src/LedgerConsensus.cpp b/src/LedgerConsensus.cpp index 0c0576146d..9c42b24b22 100644 --- a/src/LedgerConsensus.cpp +++ b/src/LedgerConsensus.cpp @@ -492,8 +492,8 @@ void LedgerConsensus::updateOurPositions() std::map closeTimes; for (boost::unordered_map::iterator it = mPeerPositions.begin(), end = mPeerPositions.end(); it != end; ++it) - ++closeTimes[it->second->getCloseTime() % mCloseResolution]; - ++closeTimes[mOurPosition->getCloseTime() % mCloseResolution]; + ++closeTimes[it->second->getCloseTime() - (it->second->getCloseTime % mCloseResolution)]; + ++closeTimes[mOurPosition->getCloseTime() - (mOurPosition->getCloseTime() % mCloseResolution)]; int neededWeight; @@ -513,7 +513,7 @@ void LedgerConsensus::updateOurPositions() closeTime = it->first; } } - if (closeTime != (mOurPosition->getCloseTime() % mCloseResolution)) + if (closeTime != (mOurPosition->getCloseTime() - (mOurPosition->getCloseTime() % mCloseResolution))) changes = true; if (changes)