The ledger accept process calls functions like ConnectionPool::relayMessage

and so must be called in the main I/O thread, at least for now.
This commit is contained in:
JoelKatz
2012-09-14 10:06:23 -07:00
parent 22f9a1a258
commit d147b61530

View File

@@ -909,8 +909,7 @@ void LedgerConsensus::beginAccept()
}
theApp->getOPs().newLCL(mPeerPositions.size(), mCurrentMSeconds, mNewLedgerHash);
boost::thread thread(boost::bind(&LedgerConsensus::Saccept, shared_from_this(), consensusSet));
thread.detach();
theApp->getIOService().post(boost::bind(&LedgerConsensus::Saccept, shared_from_this(), consensusSet));
}
void LedgerConsensus::Saccept(boost::shared_ptr<LedgerConsensus> This, SHAMap::pointer txSet)