Commit dcfd6e7a authored by Petar Radovic's avatar Petar Radovic Committed by GitHub

Empty overlay fix in peer registry (#270)

* fix peer disconnect in peer registry
parent 11abf5a2
...@@ -118,13 +118,14 @@ func (r *peerRegistry) overlay(peerID libp2ppeer.ID) (swarm.Address, bool) { ...@@ -118,13 +118,14 @@ func (r *peerRegistry) overlay(peerID libp2ppeer.ID) (swarm.Address, bool) {
func (r *peerRegistry) remove(peerID libp2ppeer.ID) { func (r *peerRegistry) remove(peerID libp2ppeer.ID) {
r.mu.Lock() r.mu.Lock()
overlay := r.overlays[peerID] overlay, found := r.overlays[peerID]
delete(r.overlays, peerID) delete(r.overlays, peerID)
delete(r.underlays, overlay.ByteString()) delete(r.underlays, overlay.ByteString())
delete(r.connections, peerID) delete(r.connections, peerID)
r.mu.Unlock() r.mu.Unlock()
if r.disconnecter != nil { // if overlay was not found disconnect handler should not be signaled.
if r.disconnecter != nil && found {
r.disconnecter.Disconnected(overlay) r.disconnecter.Disconnected(overlay)
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment