From 160ba880496944e1e5dbddfd97f3d24a02b647d9 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 15 Jul 2013 00:51:53 -0700 Subject: [PATCH] Fix a case where the engine to acquire published ledgers stalls. --- src/cpp/ripple/LedgerMaster.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/cpp/ripple/LedgerMaster.cpp b/src/cpp/ripple/LedgerMaster.cpp index 90661d7bc3..82f1434929 100644 --- a/src/cpp/ripple/LedgerMaster.cpp +++ b/src/cpp/ripple/LedgerMaster.cpp @@ -752,7 +752,14 @@ void LedgerMaster::tryPublish () ledger = acq->getLedger(); } else + { WriteLog (lsWARNING, LedgerMaster) << "Failed to acquire a published ledger"; + getApp().getInboundLedgers().dropLedger(hash); + acq = getApp().getInboundLedgers().findCreate(hash, seq); + acq->setAccept(); + if (acq->isDone()) + ledger = acq->getLedger(); + } } if (ledger && (ledger->getLedgerSeq() == (mPubLedger->getLedgerSeq() + 1)))