mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-22 10:40:27 +00:00
close listener when a multicast interface is removed
This commit is contained in:
parent
169b8747d4
commit
c2d6e9e8f1
@ -136,6 +136,7 @@ func (m *Multicast) _stop() error {
|
||||
m.log.Infoln("Stopping multicast module")
|
||||
m.isOpen = false
|
||||
for name := range m.listeners {
|
||||
m.listeners[name].listener.Listener.Close()
|
||||
close(m.listeners[name].stop)
|
||||
delete(m.listeners, name)
|
||||
}
|
||||
@ -213,6 +214,7 @@ func (m *Multicast) _monitorInterfaceChanges() {
|
||||
for name, intf := range m.listeners {
|
||||
if _, ok := m._interfaces[name]; !ok {
|
||||
// This is a disappeared interface. Stop the announcer.
|
||||
intf.listener.Listener.Close()
|
||||
close(intf.stop)
|
||||
delete(m.listeners, name)
|
||||
m.log.Debugln("Stopped multicasting on", name)
|
||||
|
Loading…
Reference in New Issue
Block a user