Merge pull request #813 from dooglus/master
Fix #794. Only remove transactions from memory pool when they're actually in the memory pool.
This commit is contained in:
commit
b0cfef3214
1 changed files with 9 additions and 5 deletions
14
src/main.cpp
14
src/main.cpp
|
@ -618,11 +618,15 @@ bool CTransaction::RemoveFromMemoryPool()
|
|||
// Remove transaction from memory pool
|
||||
CRITICAL_BLOCK(cs_mapTransactions)
|
||||
{
|
||||
BOOST_FOREACH(const CTxIn& txin, vin)
|
||||
mapNextTx.erase(txin.prevout);
|
||||
mapTransactions.erase(GetHash());
|
||||
nTransactionsUpdated++;
|
||||
--nPooledTx;
|
||||
uint256 hash = GetHash();
|
||||
if (mapTransactions.count(hash))
|
||||
{
|
||||
BOOST_FOREACH(const CTxIn& txin, vin)
|
||||
mapNextTx.erase(txin.prevout);
|
||||
mapTransactions.erase(hash);
|
||||
nTransactionsUpdated++;
|
||||
--nPooledTx;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue