mirror of
https://github.com/logos-messaging/go-discover.git
synced 2026-01-04 05:53:10 +00:00
fix: protect nursery with mutex
This commit is contained in:
parent
a3ca781403
commit
c65f337cf6
@ -190,7 +190,9 @@ func (tab *Table) setFallbackNodes(nodes []*enode.Node) error {
|
|||||||
return fmt.Errorf("bad bootstrap node %q: %v", n, err)
|
return fmt.Errorf("bad bootstrap node %q: %v", n, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
tab.mutex.Lock()
|
||||||
tab.nursery = wrapNodes(nodes)
|
tab.nursery = wrapNodes(nodes)
|
||||||
|
tab.mutex.Unlock()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +304,9 @@ func (tab *Table) doRefresh(done chan struct{}) {
|
|||||||
|
|
||||||
func (tab *Table) loadSeedNodes() {
|
func (tab *Table) loadSeedNodes() {
|
||||||
seeds := wrapNodes(tab.db.QuerySeeds(seedCount, seedMaxAge))
|
seeds := wrapNodes(tab.db.QuerySeeds(seedCount, seedMaxAge))
|
||||||
|
tab.mutex.Lock()
|
||||||
seeds = append(seeds, tab.nursery...)
|
seeds = append(seeds, tab.nursery...)
|
||||||
|
tab.mutex.Unlock()
|
||||||
for i := range seeds {
|
for i := range seeds {
|
||||||
seed := seeds[i]
|
seed := seeds[i]
|
||||||
age := log.Lazy{Fn: func() interface{} { return time.Since(tab.db.LastPongReceived(seed.ID(), seed.IP())) }}
|
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