]> Cypherpunks repositories - gostls13.git/commit
net: report completed when context is done in cgoLookupIP and cgoLookupPTR
authorMateusz Poliwczak <mpoliwczak34@gmail.com>
Sat, 3 Dec 2022 13:50:45 +0000 (13:50 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 27 Jan 2023 00:42:08 +0000 (00:42 +0000)
commit3dc85a32fc2c7216f18374bccd37eaed7ed2db7f
tree1bc8683e4dad1b74123cc121a0e331e2d30c49c4
parentd0851777daaec578ff94e9cbae0cedbff4ac625b
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>
src/net/cgo_unix.go