fix deadlock when AddPeer fails

This commit is contained in:
Arceliar 2019-11-12 21:01:32 -06:00
parent f330f2f5bc
commit 5f1aea3636

View File

@ -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
} }