mirror of
https://github.com/monero-project/monero.git
synced 2025-08-08 03:52:20 -04:00
Fix blockchain_import wedge on exception in cleanup_handle_incoming_blocks
This commit is contained in:
parent
84fa015e77
commit
ce901fcb31
5 changed files with 47 additions and 15 deletions
|
@ -3582,12 +3582,23 @@ void Blockchain::block_longhash_worker(uint64_t height, const std::vector<block>
|
|||
//------------------------------------------------------------------
|
||||
bool Blockchain::cleanup_handle_incoming_blocks(bool force_sync)
|
||||
{
|
||||
bool success = false;
|
||||
|
||||
MTRACE("Blockchain::" << __func__);
|
||||
CRITICAL_REGION_BEGIN(m_blockchain_lock);
|
||||
TIME_MEASURE_START(t1);
|
||||
|
||||
m_db->batch_stop();
|
||||
if (m_sync_counter > 0)
|
||||
try
|
||||
{
|
||||
m_db->batch_stop();
|
||||
success = true;
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
MERROR("Exception in cleanup_handle_incoming_blocks: " << e.what());
|
||||
}
|
||||
|
||||
if (success && m_sync_counter > 0)
|
||||
{
|
||||
if (force_sync)
|
||||
{
|
||||
|
@ -3622,7 +3633,7 @@ bool Blockchain::cleanup_handle_incoming_blocks(bool force_sync)
|
|||
CRITICAL_REGION_END();
|
||||
m_tx_pool.unlock();
|
||||
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue