mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-26 22:15:52 +00:00
Deadlock fix.
This commit is contained in:
@@ -612,7 +612,7 @@ void Peer::processReadBuffer()
|
|||||||
event->reName("Peer::ledgerdata");
|
event->reName("Peer::ledgerdata");
|
||||||
boost::shared_ptr<ripple::TMLedgerData> msg = boost::make_shared<ripple::TMLedgerData>();
|
boost::shared_ptr<ripple::TMLedgerData> msg = boost::make_shared<ripple::TMLedgerData>();
|
||||||
if (msg->ParseFromArray(&mReadbuf[HEADER_SIZE], mReadbuf.size() - HEADER_SIZE))
|
if (msg->ParseFromArray(&mReadbuf[HEADER_SIZE], mReadbuf.size() - HEADER_SIZE))
|
||||||
recvLedger(msg);
|
recvLedger(msg, sl);
|
||||||
else
|
else
|
||||||
cLog(lsWARNING) << "parse error: " << type;
|
cLog(lsWARNING) << "parse error: " << type;
|
||||||
}
|
}
|
||||||
@@ -1663,8 +1663,9 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet, ScopedLock& MasterLockHold
|
|||||||
sendPacket(oPacket, true);
|
sendPacket(oPacket, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Peer::recvLedger(const boost::shared_ptr<ripple::TMLedgerData>& packet_ptr)
|
void Peer::recvLedger(const boost::shared_ptr<ripple::TMLedgerData>& packet_ptr, ScopedLock& MasterLockHolder)
|
||||||
{
|
{
|
||||||
|
MasterLockHolder.unlock();
|
||||||
ripple::TMLedgerData& packet = *packet_ptr;
|
ripple::TMLedgerData& packet = *packet_ptr;
|
||||||
if (packet.nodes().size() <= 0)
|
if (packet.nodes().size() <= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ protected:
|
|||||||
void recvGetAccount(ripple::TMGetAccount& packet);
|
void recvGetAccount(ripple::TMGetAccount& packet);
|
||||||
void recvAccount(ripple::TMAccount& packet);
|
void recvAccount(ripple::TMAccount& packet);
|
||||||
void recvGetLedger(ripple::TMGetLedger& packet, ScopedLock& MasterLockHolder);
|
void recvGetLedger(ripple::TMGetLedger& packet, ScopedLock& MasterLockHolder);
|
||||||
void recvLedger(const boost::shared_ptr<ripple::TMLedgerData>& packet);
|
void recvLedger(const boost::shared_ptr<ripple::TMLedgerData>& packet, ScopedLock& MasterLockHolder);
|
||||||
void recvStatus(ripple::TMStatusChange& packet);
|
void recvStatus(ripple::TMStatusChange& packet);
|
||||||
void recvPropose(const boost::shared_ptr<ripple::TMProposeSet>& packet);
|
void recvPropose(const boost::shared_ptr<ripple::TMProposeSet>& packet);
|
||||||
void recvHaveTxSet(ripple::TMHaveTransactionSet& packet);
|
void recvHaveTxSet(ripple::TMHaveTransactionSet& packet);
|
||||||
|
|||||||
Reference in New Issue
Block a user