core: add some locking around pool use
This commit is contained in:
@@ -2869,6 +2869,8 @@ void Blockchain::return_tx_to_pool(const std::vector<transaction> &txs)
|
||||
//------------------------------------------------------------------
|
||||
bool Blockchain::flush_txes_from_pool(const std::list<crypto::hash> &txids)
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_tx_pool);
|
||||
|
||||
bool res = true;
|
||||
for (const auto &txid: txids)
|
||||
{
|
||||
@@ -2877,7 +2879,7 @@ bool Blockchain::flush_txes_from_pool(const std::list<crypto::hash> &txids)
|
||||
uint64_t fee;
|
||||
bool relayed;
|
||||
LOG_PRINT_L1("Removing txid " << txid << " from the pool");
|
||||
if(!m_tx_pool.take_tx(txid, tx, blob_size, fee, relayed))
|
||||
if(m_tx_pool.have_tx(txid) && !m_tx_pool.take_tx(txid, tx, blob_size, fee, relayed))
|
||||
{
|
||||
LOG_PRINT_L0("Failed to remove txid " << txid << " from the pool");
|
||||
res = false;
|
||||
|
||||
Reference in New Issue
Block a user