@@ -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 {
@@ -128,6 +128,7 @@ func (ls *Listener) uploop(cctx context.Context) {
errortolerance := 5
if cctx.Err() != nil {
+ close(ls.listenerChan)
conn, err := ls.ln.Accept()