mirror of
https://github.com/golang/go
synced 2024-11-26 22:11:25 -07:00
net: map context errors from aborted dial to internal net package errors
Map the error returned when a dial is aborted from the context package error to the internal net package error. For example, context.Canceled errors map to errCanceled, and context.DeadlineExceeded errors map to poll.ErrTimeout. Fixes #23648 Change-Id: Idf9d3d08052d540740c0b054503aaed931dc5b1e Reviewed-on: https://go-review.googlesource.com/103518 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
dfd7f35626
commit
72b0fb5153
@ -102,7 +102,8 @@ func TestDialContextCancelRace(t *testing.T) {
|
||||
if !ok || oe.Op != "dial" {
|
||||
t.Fatalf("Dial error = %#v; want dial *OpError", err)
|
||||
}
|
||||
if oe.Err != ctx.Err() {
|
||||
t.Errorf("DialContext = (%v, %v); want OpError with error %v", c, err, ctx.Err())
|
||||
|
||||
if oe.Err != errCanceled {
|
||||
t.Errorf("DialContext = (%v, %v); want OpError with error %v", c, err, errCanceled)
|
||||
}
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (rsa sysc
|
||||
// == nil). Because we've now poisoned the connection
|
||||
// by making it unwritable, don't return a successful
|
||||
// dial. This was issue 16523.
|
||||
ret = ctxErr
|
||||
ret = mapErr(ctxErr)
|
||||
fd.Close() // prevent a leak
|
||||
}
|
||||
}()
|
||||
|
Loading…
Reference in New Issue
Block a user