fix: resolver's defer

This commit is contained in:
wwqgtxx 2022-11-16 17:53:52 +08:00
parent 1880a485f8
commit 994e85425f

View File

@ -159,9 +159,9 @@ func (r *Resolver) ExchangeContext(ctx context.Context, m *D.Msg) (msg *D.Msg, e
continueFetch := false continueFetch := false
defer func() { defer func() {
if continueFetch || errors.Is(err, context.DeadlineExceeded) || errors.Is(err, context.Canceled) { if continueFetch || errors.Is(err, context.DeadlineExceeded) || errors.Is(err, context.Canceled) {
ctx, cancel := context.WithTimeout(context.Background(), resolver.DefaultDNSTimeout)
defer cancel()
go func() { go func() {
ctx, cancel := context.WithTimeout(context.Background(), resolver.DefaultDNSTimeout)
defer cancel()
_, _ = r.exchangeWithoutCache(ctx, m) // ignore result, just for putMsgToCache _, _ = r.exchangeWithoutCache(ctx, m) // ignore result, just for putMsgToCache
}() }()
} }