diff options
Diffstat (limited to 'libgo/go/net/sock_posix.go')
-rw-r--r-- | libgo/go/net/sock_posix.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libgo/go/net/sock_posix.go b/libgo/go/net/sock_posix.go index 4d2cfde..4676721 100644 --- a/libgo/go/net/sock_posix.go +++ b/libgo/go/net/sock_posix.go @@ -34,7 +34,7 @@ type sockaddr interface { // socket returns a network file descriptor that is ready for // asynchronous I/O using the network poller. -func socket(net string, family, sotype, proto int, ipv6only bool, laddr, raddr sockaddr, deadline time.Time) (fd *netFD, err error) { +func socket(net string, family, sotype, proto int, ipv6only bool, laddr, raddr sockaddr, deadline time.Time, cancel <-chan struct{}) (fd *netFD, err error) { s, err := sysSocket(family, sotype, proto) if err != nil { return nil, err @@ -86,7 +86,7 @@ func socket(net string, family, sotype, proto int, ipv6only bool, laddr, raddr s return fd, nil } } - if err := fd.dial(laddr, raddr, deadline); err != nil { + if err := fd.dial(laddr, raddr, deadline, cancel); err != nil { fd.Close() return nil, err } @@ -117,7 +117,7 @@ func (fd *netFD) addrFunc() func(syscall.Sockaddr) Addr { return func(syscall.Sockaddr) Addr { return nil } } -func (fd *netFD) dial(laddr, raddr sockaddr, deadline time.Time) error { +func (fd *netFD) dial(laddr, raddr sockaddr, deadline time.Time, cancel <-chan struct{}) error { var err error var lsa syscall.Sockaddr if laddr != nil { @@ -134,7 +134,7 @@ func (fd *netFD) dial(laddr, raddr sockaddr, deadline time.Time) error { if rsa, err = raddr.sockaddr(fd.family); err != nil { return err } - if err := fd.connect(lsa, rsa, deadline); err != nil { + if err := fd.connect(lsa, rsa, deadline, cancel); err != nil { return err } fd.isConnected = true |