diff --git a/src/ripple_app/consensus/LedgerConsensus.cpp b/src/ripple_app/consensus/LedgerConsensus.cpp index bc6044688..f4f0ce908 100644 --- a/src/ripple_app/consensus/LedgerConsensus.cpp +++ b/src/ripple_app/consensus/LedgerConsensus.cpp @@ -789,20 +789,17 @@ public: std::vector< boost::weak_ptr >& set = mPeerData[hashSet]; BOOST_FOREACH (boost::weak_ptr& iit, set) - - if (iit.lock () == peer) - return false; - + if (iit.lock () == peer) + return false; set.push_back (peer); + boost::unordered_map::iterator acq = mAcquiring.find (hashSet); if (acq != mAcquiring.end ()) - { // make sure it doesn't go away - TransactionAcquire::pointer ta = acq->second; - ta->peerHas (peer); - } + getApp().getJobQueue().addJob(jtTXN_DATA, "peerHasTxnData", + std::bind(&TransactionAcquire::peerHas, acq->second, peer)); return true; } diff --git a/src/ripple_app/misc/NetworkOPs.cpp b/src/ripple_app/misc/NetworkOPs.cpp index d505c0976..6f89761c3 100644 --- a/src/ripple_app/misc/NetworkOPs.cpp +++ b/src/ripple_app/misc/NetworkOPs.cpp @@ -1563,7 +1563,7 @@ SHAMapAddNode NetworkOPsImp::gotTXData (const boost::shared_ptr& peer, uin bool NetworkOPsImp::hasTXSet (const boost::shared_ptr& peer, uint256 const& set, protocol::TxSetStatus status) { - if (!haveConsensusObject ()) + if (mConsensus == nullptr) { m_journal.info << "Peer has TX set, not during consensus"; return false;