|
@@ -4,6 +4,7 @@ package grpc
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"context"
|
|
"context"
|
|
|
|
|
+ core "github.com/v2fly/v2ray-core/v4"
|
|
|
gonet "net"
|
|
gonet "net"
|
|
|
"sync"
|
|
"sync"
|
|
|
"time"
|
|
"time"
|
|
@@ -100,7 +101,8 @@ func getGrpcClient(ctx context.Context, dest net.Destination, dialOption grpc.Di
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
address := net.ParseAddress(rawHost)
|
|
address := net.ParseAddress(rawHost)
|
|
|
- return internet.DialSystem(ctx, net.TCPDestination(address, port), nil)
|
|
|
|
|
|
|
+ detachedContext := core.ToBackgroundDetachedContext(ctx)
|
|
|
|
|
+ return internet.DialSystem(detachedContext, net.TCPDestination(address, port), nil)
|
|
|
}),
|
|
}),
|
|
|
)
|
|
)
|
|
|
globalDialerMap[dest] = conn
|
|
globalDialerMap[dest] = conn
|