From 7bed3c7975780cad3c0adcf548d8b2d324a09265 Mon Sep 17 00:00:00 2001 From: Mikhail Faraponov Date: Thu, 11 Nov 2021 21:45:45 +0000 Subject: [PATCH] net: use Done rather than comparing with context.Background Fixes #49023 Change-Id: I3de70f8a25f4ba8a0fb8bb96581371e33fde2f7a GitHub-Last-Rev: b7ec9405adc77ec513df344f2ad33801feb2d3ca GitHub-Pull-Request: golang/go#49024 Reviewed-on: https://go-review.googlesource.com/c/go/+/356471 Reviewed-by: Ian Lance Taylor Trust: Damien Neil --- src/net/fd_unix.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/net/fd_unix.go b/src/net/fd_unix.go index 1bb029d370..4ded833bbf 100644 --- a/src/net/fd_unix.go +++ b/src/net/fd_unix.go @@ -91,12 +91,11 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (rsa sysc } // Start the "interrupter" goroutine, if this context might be canceled. - // (The background context cannot) // // 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 ctx != context.Background() { + if ctxDone := ctx.Done(); ctxDone != nil { // Wait for the interrupter goroutine to exit before returning // from connect. done := make(chan struct{}) @@ -116,7 +115,7 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (rsa sysc }() go func() { select { - case <-ctx.Done(): + case <-ctxDone: // Force the runtime's poller to immediately give up // waiting for writability, unblocking waitWrite // below. -- 2.50.0