Merge pull request #201 from maticnetwork/fix-memory-leak

Fix memory leak in txpool
This commit is contained in:
Sandeep Sreenath 2021-10-08 00:15:13 +05:30 committed by GitHub
commit a9c71eff57
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1173,9 +1173,15 @@ func (pool *TxPool) runReorg(done chan struct{}, reset *txpoolResetRequest, dirt
// because of another transaction (e.g. higher gas price).
if reset != nil {
pool.demoteUnexecutables()
if reset.newHead != nil && pool.chainconfig.IsLondon(new(big.Int).Add(reset.newHead.Number, big.NewInt(1))) {
pendingBaseFee := misc.CalcBaseFee(pool.chainconfig, reset.newHead)
pool.priced.SetBaseFee(pendingBaseFee)
if reset.newHead != nil {
if pool.chainconfig.IsLondon(new(big.Int).Add(reset.newHead.Number, big.NewInt(1))) {
// london fork enabled, reset given the base fee
pendingBaseFee := misc.CalcBaseFee(pool.chainconfig, reset.newHead)
pool.priced.SetBaseFee(pendingBaseFee)
} else {
// london fork not enabled, reheap to "reset" the priced list
pool.priced.Reheap()
}
}
}
// Ensure pool.queue and pool.pending sizes stay within the configured limits.