代理服务停止后关闭监听

This commit is contained in:
2025-03-03 18:08:53 +08:00
parent 3d0b27f2e7
commit a1717ff0d1

View File

@@ -321,17 +321,21 @@ func (s *Service) startFwdTun(port uint16) error {
}
defer proxy.Close()
errCh := make(chan error)
defer close(errCh)
go func() {
err := proxy.Run()
if err != nil {
slog.Error("代理服务异常退出", "err", err)
}
errCh <- err
}()
for {
select {
case <-s.ctx.Done():
return nil
case err := <-errCh:
if err != nil {
return errors.Wrap(err, "转发服务发生错误")
}
case conn := <-proxy.Conn:
s.userConnWg.Add(1)
go func() {