1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-23 21:47:52 +08:00

clean up after listeners on shutdown

This commit is contained in:
Jeromy
2014-08-01 18:07:09 -07:00
committed by Juan Batiz-Benet
parent 92fb51d9a2
commit 31dc65b96b

View File

@ -81,6 +81,7 @@ type Swarm struct {
connsLock sync.RWMutex
local *peer.Peer
listeners []net.Listener
}
// NewSwarm constructs a Swarm, with a Chan.
@ -126,6 +127,9 @@ func (s *Swarm) connListen(maddr *ma.Multiaddr) error {
return err
}
// NOTE: this may require a lock around it later. currently, only run on setup
s.listeners = append(s.listeners, list)
// Accept and handle new connections on this listener until it errors
go func() {
for {
@ -172,6 +176,10 @@ func (s *Swarm) Close() {
}
s.Chan.Close <- true // fan out
s.Chan.Close <- true // listener
for _,list := range s.listeners {
list.Close()
}
}
// Dial connects to a peer.