Merge pull request #735 from ethcore/transaction_queue_race

Fixing possible race in transaction queue
This commit is contained in:
Arkadiy Paronyan 2016-03-15 12:47:30 +01:00
commit 828d20629b
1 changed files with 2 additions and 3 deletions

View File

@ -516,11 +516,10 @@ impl TransactionQueue {
return;
}
let base_nonce = fetch_nonce(&address);
Self::replace_transaction(tx, base_nonce, &mut self.current, &mut self.by_hash);
Self::replace_transaction(tx, state_nonce, &mut self.current, &mut self.by_hash);
self.last_nonces.insert(address, nonce);
// But maybe there are some more items waiting in future?
self.move_matching_future_to_current(address, nonce + U256::one(), base_nonce);
self.move_matching_future_to_current(address, nonce + U256::one(), state_nonce);
self.current.enforce_limit(&mut self.by_hash);
}