net/dns/{., resolver}, wgengine: fix goroutine leak on shutdown

Signed-off-by: Tom DNetto <tom@tailscale.com>
This commit is contained in:
Tom DNetto
2022-05-02 09:35:32 -07:00
committed by Tom
parent 7f45734663
commit 2a0b5c21d2
3 changed files with 32 additions and 11 deletions

View File

@@ -11,6 +11,7 @@ import (
"errors"
"fmt"
"io"
"net"
"reflect"
"runtime"
"strings"
@@ -499,7 +500,7 @@ func (e *userspaceEngine) handleLocalPackets(p *packet.Parsed, t *tstun.Wrapper)
func (e *userspaceEngine) pollResolver() {
for {
bs, err := e.dns.NextPacket()
if err == resolver.ErrClosed {
if errors.Is(err, net.ErrClosed) {
return
}
if err != nil {