mirror of
https://github.com/monero-project/monero.git
synced 2024-11-17 16:27:39 +00:00
core: guard against a mined block not finding all txes in the pool
This can happen for several reasons, but mainly if another block was received, which took that tx off the pool.
This commit is contained in:
parent
86e9de588c
commit
529a6a4af8
1 changed files with 9 additions and 1 deletions
|
@ -1026,7 +1026,15 @@ namespace cryptonote
|
|||
block_verification_context bvc = boost::value_initialized<block_verification_context>();
|
||||
m_miner.pause();
|
||||
std::list<block_complete_entry> blocks;
|
||||
blocks.push_back(get_block_complete_entry(b, m_mempool));
|
||||
try
|
||||
{
|
||||
blocks.push_back(get_block_complete_entry(b, m_mempool));
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
m_miner.resume();
|
||||
return false;
|
||||
}
|
||||
prepare_handle_incoming_blocks(blocks);
|
||||
m_blockchain_storage.add_new_block(b, bvc);
|
||||
cleanup_handle_incoming_blocks(true);
|
||||
|
|
Loading…
Reference in a new issue