mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-24 20:28:02 +08:00
remote: use winio DialPipeContext for named pipes
Signed-off-by: Ian King'ori <kingorim.ian@gmail.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/docker/buildx/driver"
|
||||
util "github.com/docker/buildx/driver/remote/util"
|
||||
"github.com/docker/buildx/util/progress"
|
||||
"github.com/moby/buildkit/client"
|
||||
"github.com/moby/buildkit/util/tracing/detect"
|
||||
@@ -99,9 +100,8 @@ func (d *Driver) Dial(ctx context.Context) (net.Conn, error) {
|
||||
return nil, errors.Errorf("invalid endpoint address: %s", d.InitConfig.EndpointAddr)
|
||||
}
|
||||
|
||||
dialer := &net.Dialer{}
|
||||
conn, err := util.DialContext(ctx, network, addr)
|
||||
|
||||
conn, err := dialer.DialContext(ctx, network, addr)
|
||||
if err != nil {
|
||||
return nil, errors.WithStack(err)
|
||||
}
|
||||
|
17
driver/remote/util/dialer_unix.go
Normal file
17
driver/remote/util/dialer_unix.go
Normal file
@@ -0,0 +1,17 @@
|
||||
//go:build !windows
|
||||
// +build !windows
|
||||
|
||||
package remote
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net"
|
||||
)
|
||||
|
||||
func DialContext(ctx context.Context, network string, addr string) (net.Conn, error) {
|
||||
dialer := &net.Dialer{}
|
||||
|
||||
conn, err := dialer.DialContext(ctx, network, addr)
|
||||
|
||||
return conn, err
|
||||
}
|
23
driver/remote/util/dialer_windows.go
Normal file
23
driver/remote/util/dialer_windows.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package remote
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net"
|
||||
|
||||
"github.com/Microsoft/go-winio"
|
||||
)
|
||||
|
||||
func DialContext(ctx context.Context, network string, addr string) (net.Conn, error) {
|
||||
var conn net.Conn
|
||||
var err error
|
||||
|
||||
// dial context doesn't support named pipes
|
||||
if network == "npipe" {
|
||||
conn, err = winio.DialPipeContext(ctx, addr)
|
||||
} else {
|
||||
dialer := &net.Dialer{}
|
||||
conn, err = dialer.DialContext(ctx, network, addr)
|
||||
}
|
||||
|
||||
return conn, err
|
||||
}
|
Reference in New Issue
Block a user