From 994e85425f956e35baadff142eafdf898c0e48c3 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Wed, 16 Nov 2022 17:53:52 +0800 Subject: [PATCH] fix: resolver's defer --- dns/resolver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dns/resolver.go b/dns/resolver.go index a0623dc27..4e31074c7 100644 --- a/dns/resolver.go +++ b/dns/resolver.go @@ -159,9 +159,9 @@ func (r *Resolver) ExchangeContext(ctx context.Context, m *D.Msg) (msg *D.Msg, e continueFetch := false defer func() { if continueFetch || errors.Is(err, context.DeadlineExceeded) || errors.Is(err, context.Canceled) { - ctx, cancel := context.WithTimeout(context.Background(), resolver.DefaultDNSTimeout) - defer cancel() go func() { + ctx, cancel := context.WithTimeout(context.Background(), resolver.DefaultDNSTimeout) + defer cancel() _, _ = r.exchangeWithoutCache(ctx, m) // ignore result, just for putMsgToCache }() }