XHTTP XMUX: Fix OpenUsage never gets reduced

Introduced in https://github.com/XTLS/Xray-core/pull/4163
This commit is contained in:
RPRX 2024-12-20 06:19:10 +00:00 committed by GitHub
parent cab2fdefd3
commit 1410b6335b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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 {