Avoid duplicate completion of acquired ledgers.

This commit is contained in:
JoelKatz
2012-08-02 11:50:59 -07:00
parent 67ee822948
commit e373a58f5c
2 changed files with 5 additions and 2 deletions

View File

@@ -88,7 +88,7 @@ void PeerSet::TimerEntry(boost::weak_ptr<PeerSet> wptr, const boost::system::err
}
LedgerAcquire::LedgerAcquire(const uint256& hash) : PeerSet(hash, LEDGER_ACQUIRE_TIMEOUT),
mHaveBase(false), mHaveState(false), mHaveTransactions(false), mAborted(false)
mHaveBase(false), mHaveState(false), mHaveTransactions(false), mAborted(false), mSignaled(false)
{
#ifdef LA_DEBUG
Log(lsTRACE) << "Acquiring ledger " << mHash.GetHex();
@@ -112,6 +112,9 @@ boost::weak_ptr<PeerSet> LedgerAcquire::pmDowncast()
void LedgerAcquire::done()
{
if (mSignaled)
return;
mSignaled = true;
#ifdef LA_DEBUG
Log(lsTRACE) << "Done acquiring ledger " << mHash.GetHex();
#endif