mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-22 21:10:29 +00:00
fix deadlock when AddPeer fails
This commit is contained in:
parent
f330f2f5bc
commit
5f1aea3636
@ -424,6 +424,7 @@ func (c *Core) AddPeer(addr string, sintf string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.config.Mutex.Lock()
|
c.config.Mutex.Lock()
|
||||||
|
defer c.config.Mutex.Unlock()
|
||||||
if sintf == "" {
|
if sintf == "" {
|
||||||
for _, peer := range c.config.Current.Peers {
|
for _, peer := range c.config.Current.Peers {
|
||||||
if peer == addr {
|
if peer == addr {
|
||||||
@ -445,7 +446,6 @@ func (c *Core) AddPeer(addr string, sintf string) error {
|
|||||||
c.config.Current.InterfacePeers[sintf] = append(c.config.Current.InterfacePeers[sintf], addr)
|
c.config.Current.InterfacePeers[sintf] = append(c.config.Current.InterfacePeers[sintf], addr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.config.Mutex.Unlock()
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user