mirror of
https://github.com/monero-project/monero.git
synced 2024-10-01 11:49:47 -04:00
core: lock incoming tx lock when checking the txpool and chain
This gets rid of an innocuous race trying to add the same tx twice to the txpool
This commit is contained in:
parent
f6dbb967f8
commit
f6896d9974
@ -676,6 +676,7 @@ namespace cryptonote
|
|||||||
bool core::handle_incoming_txs(const std::list<blobdata>& tx_blobs, std::vector<tx_verification_context>& tvc, bool keeped_by_block, bool relayed, bool do_not_relay)
|
bool core::handle_incoming_txs(const std::list<blobdata>& tx_blobs, std::vector<tx_verification_context>& tvc, bool keeped_by_block, bool relayed, bool do_not_relay)
|
||||||
{
|
{
|
||||||
TRY_ENTRY();
|
TRY_ENTRY();
|
||||||
|
CRITICAL_REGION_LOCAL(m_incoming_tx_lock);
|
||||||
|
|
||||||
struct result { bool res; cryptonote::transaction tx; crypto::hash hash; crypto::hash prefix_hash; bool in_txpool; bool in_blockchain; };
|
struct result { bool res; cryptonote::transaction tx; crypto::hash hash; crypto::hash prefix_hash; bool in_txpool; bool in_blockchain; };
|
||||||
std::vector<result> results(tx_blobs.size());
|
std::vector<result> results(tx_blobs.size());
|
||||||
|
Loading…
Reference in New Issue
Block a user