mirror of
https://github.com/logos-messaging/go-discover.git
synced 2026-01-02 13:03:12 +00:00
fix: protect nursery with mutex
This commit is contained in:
parent
85f2c00b96
commit
4912704efd
@ -193,7 +193,9 @@ func (tab *Table) setFallbackNodes(nodes []*enode.Node) error {
|
||||
return fmt.Errorf("bad bootstrap node %q: %v", n, err)
|
||||
}
|
||||
}
|
||||
tab.mutex.Lock()
|
||||
tab.nursery = wrapNodes(nodes)
|
||||
tab.mutex.Unlock()
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -305,7 +307,9 @@ func (tab *Table) doRefresh(done chan struct{}) {
|
||||
|
||||
func (tab *Table) loadSeedNodes() {
|
||||
seeds := wrapNodes(tab.db.QuerySeeds(seedCount, seedMaxAge))
|
||||
tab.mutex.Lock()
|
||||
seeds = append(seeds, tab.nursery...)
|
||||
tab.mutex.Unlock()
|
||||
for i := range seeds {
|
||||
seed := seeds[i]
|
||||
age := log.Lazy{Fn: func() interface{} { return time.Since(tab.db.LastPongReceived(seed.ID(), seed.IP())) }}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user