mirror of
https://github.com/fumiama/WireGold.git
synced 2026-06-19 09:40:23 +08:00
fix(wg): stop signal handling
This commit is contained in:
@@ -2,6 +2,7 @@ package link
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"io"
|
||||
"net"
|
||||
"net/netip"
|
||||
@@ -49,7 +50,7 @@ func (m *Me) listenudp() (conn *net.UDPConn, err error) {
|
||||
logrus.Debugln("[listen] lock index", i)
|
||||
lbf := listenbuff[i*65536 : (i+1)*65536]
|
||||
n, addr, err := conn.ReadFromUDP(lbf)
|
||||
if m.loop == nil {
|
||||
if m.loop == nil || errors.Is(err, net.ErrClosed) {
|
||||
logrus.Warnln("[listen] quit listening")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -132,13 +132,19 @@ func (m *Me) EndPoint() net.Addr {
|
||||
func (m *Me) Close() error {
|
||||
m.loop = nil
|
||||
m.connections = nil
|
||||
_ = m.udpconn.Close()
|
||||
m.udpconn = nil
|
||||
if m.udpconn != nil {
|
||||
_ = m.udpconn.Close()
|
||||
m.udpconn = nil
|
||||
}
|
||||
m.router = nil
|
||||
m.recving.Destroy()
|
||||
m.recving = nil
|
||||
m.recved.Destroy()
|
||||
m.recved = nil
|
||||
if m.recving != nil {
|
||||
m.recving.Destroy()
|
||||
m.recving = nil
|
||||
}
|
||||
if m.recved != nil {
|
||||
m.recved.Destroy()
|
||||
m.recved = nil
|
||||
}
|
||||
if m.nic != nil {
|
||||
m.nic.Down()
|
||||
return m.nic.Close()
|
||||
|
||||
Reference in New Issue
Block a user