commit | 3dc85a32fc2c7216f18374bccd37eaed7ed2db7f | [log] [tgz] |
---|---|---|
author | Mateusz Poliwczak <mpoliwczak34@gmail.com> | Sat Dec 03 13:50:45 2022 +0000 |
committer | Gopher Robot <gobot@golang.org> | Fri Jan 27 00:42:08 2023 +0000 |
tree | 1bc8683e4dad1b74123cc121a0e331e2d30c49c4 | |
parent | d0851777daaec578ff94e9cbae0cedbff4ac625b [diff] |
net: report completed when context is done in cgoLookupIP and cgoLookupPTR All the Lookup* methods that resolve hostnames eventually call lookupIP or lookupHost method. When the order is selected to be hostLookupCGO then lookupHost calls cgoLookupHost which internally calls cgoLookupIP (the lookupIP directly calls cgoLookupIP). When we provide a context that is cancelled after cgo call, then the cgoLookupIP returns completed == false, which caues the lookupIP/lookupHost to fallback to the go resolver. This fallback is unnecessary because our context is already cancelled. The same thing can happen to LookupAddr. Change-Id: Ifff7716c461f05d954ef43b5205865103558b410 GitHub-Last-Rev: 2ef2023e8c51cdd251986f79e94aba86a0722230 GitHub-Pull-Request: golang/go#57042 Reviewed-on: https://go-review.googlesource.com/c/go/+/454696 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 4.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://go.dev/dl/.
After downloading a binary release, visit https://go.dev/doc/install for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.