diff --git a/listener/listener.go b/listener/listener.go index a340d3a2..9b4840e1 100644 --- a/listener/listener.go +++ b/listener/listener.go @@ -515,7 +515,6 @@ func ReCreateTun(tunConf LC.Tun, tcpIn chan<- C.ConnContext, udpIn chan<- C.Pack if err != nil { log.Errorln("Start TUN listening error: %s", err.Error()) tunConf.Enable = false - Cleanup(false) } }() @@ -526,7 +525,7 @@ func ReCreateTun(tunConf LC.Tun, tcpIn chan<- C.ConnContext, udpIn chan<- C.Pack return } - Cleanup(true) + closeTunListener() if !tunConf.Enable { return @@ -896,10 +895,13 @@ func hasTunConfigChange(tunConf *LC.Tun) bool { return false } -func Cleanup(wait bool) { +func closeTunListener() { if tunLister != nil { tunLister.Close() tunLister = nil } - LastTunConf = LC.Tun{} +} + +func Cleanup(wait bool) { + closeTunListener() }