Explorar el Código

XHTTP XMUX: Fix OpenUsage never gets reduced

Introduced in https://github.com/XTLS/Xray-core/pull/4163
RPRX hace 10 meses
padre
commit
1410b6335b
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      transport/internet/splithttp/dialer.go

+ 2 - 2
transport/internet/splithttp/dialer.go

@@ -372,7 +372,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
 	if xmuxClient2 != nil && xmuxClient2 != xmuxClient {
 		xmuxClient2.OpenUsage.Add(1)
 	}
-	var once atomic.Int32
+	var closed atomic.Int32
 
 	conn := splitConn{
 		writer:     writer,
@@ -380,7 +380,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
 		remoteAddr: remoteAddr,
 		localAddr:  localAddr,
 		onClose: func() {
-			if once.Add(-1) < 0 {
+			if closed.Add(1) > 1 {
 				return
 			}
 			if xmuxClient != nil {