XDPoS/utils: must use NewPool() to create Pool, close XFN-13 (#1667)

This commit is contained in:
Daniel Liu 2025-11-14 18:56:24 +08:00 committed by GitHub
parent 956ebb2b02
commit 39b8184f57
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -12,6 +12,8 @@ type PoolObj interface {
GetSigner() common.Address GetSigner() common.Address
DeepCopy() interface{} DeepCopy() interface{}
} }
// Note: must use `NewPool()` to create `Pool` since field `objList` is a map
type Pool struct { type Pool struct {
objList map[string]map[common.Hash]PoolObj objList map[string]map[common.Hash]PoolObj
lock sync.RWMutex // Protects the pool fields lock sync.RWMutex // Protects the pool fields
@ -22,6 +24,7 @@ func NewPool() *Pool {
objList: make(map[string]map[common.Hash]PoolObj), objList: make(map[string]map[common.Hash]PoolObj),
} }
} }
func (p *Pool) Get() map[string]map[common.Hash]PoolObj { func (p *Pool) Get() map[string]map[common.Hash]PoolObj {
p.lock.RLock() p.lock.RLock()
defer p.lock.RUnlock() defer p.lock.RUnlock()