5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-13 00:30:28 +00:00

make sure we don't replace an existing listener

This commit is contained in:
Arceliar 2019-03-08 18:51:07 -06:00
parent 917ca6c1c5
commit 426d157025

View File

@ -155,8 +155,14 @@ func (t *tcp) listener(l *tcpListener, listenaddr string) {
}
// Track the listener so that we can find it again in future
t.mutex.Lock()
t.listeners[listenaddr] = l
t.mutex.Unlock()
if _, isIn := t.listeners[listenaddr]; isIn {
t.mutex.Unlock()
l.listener.Close()
return
} else {
t.listeners[listenaddr] = l
t.mutex.Unlock()
}
// And here we go!
accepted := make(chan bool)
defer func() {