Selaa lähdekoodia

notify progressTraffic to quit

Shelikhoo 7 vuotta sitten
vanhempi
commit
09bf78a089
2 muutettua tiedostoa jossa 6 lisäystä ja 1 poistoa
  1. 5 1
      app/proxyman/inbound/unix.go
  2. 1 0
      transport/internet/domainsocket/listener.go

+ 5 - 1
app/proxyman/inbound/unix.go

@@ -39,8 +39,12 @@ func (uih *UnixInboundHandler) Start() {
 	return
 }
 func (uih *UnixInboundHandler) progressTraffic(rece <-chan net.Conn) {
+
 	for {
-		conn := <-rece
+		conn, notclosed := <-rece
+		if !notclosed {
+			return
+		}
 		go func(conn net.Conn) {
 			ctx, cancel := context.WithCancel(uih.ctx)
 			if len(uih.tag) > 0 {

+ 1 - 0
transport/internet/domainsocket/listener.go

@@ -128,6 +128,7 @@ func (ls *Listener) uploop(cctx context.Context) {
 	errortolerance := 5
 	for {
 		if cctx.Err() != nil {
+			close(ls.listenerChan)
 			return
 		}
 		conn, err := ls.ln.Accept()