mirror of https://github.com/golang/go.git
net: optimize ctxDone usage
Change-Id: I6db6fcf0ebe36da77af062114b5264405f15fee8
GitHub-Last-Rev: 80a97262bb
GitHub-Pull-Request: golang/go#49620
Reviewed-on: https://go-review.googlesource.com/c/go/+/364514
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Trust: Damien Neil <dneil@google.com>
This commit is contained in:
parent
feb330dcdd
commit
c4aae23d64
|
|
@ -95,7 +95,8 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (rsa sysc
|
|||
// The interrupter goroutine waits for the context to be done and
|
||||
// interrupts the dial (by altering the fd's write deadline, which
|
||||
// wakes up waitWrite).
|
||||
if ctxDone := ctx.Done(); ctxDone != nil {
|
||||
ctxDone := ctx.Done()
|
||||
if ctxDone != nil {
|
||||
// Wait for the interrupter goroutine to exit before returning
|
||||
// from connect.
|
||||
done := make(chan struct{})
|
||||
|
|
@ -139,7 +140,7 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (rsa sysc
|
|||
// details.
|
||||
if err := fd.pfd.WaitWrite(); err != nil {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
case <-ctxDone:
|
||||
return nil, mapErr(ctx.Err())
|
||||
default:
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue