summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/miekg/dns/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/miekg/dns/server.go')
-rw-r--r--vendor/github.com/miekg/dns/server.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/vendor/github.com/miekg/dns/server.go b/vendor/github.com/miekg/dns/server.go
index b6ce5b5f6..685753f43 100644
--- a/vendor/github.com/miekg/dns/server.go
+++ b/vendor/github.com/miekg/dns/server.go
@@ -472,11 +472,14 @@ func (srv *Server) serveTCP(l net.Listener) error {
}
return err
}
- m, err := reader.ReadTCP(rw, rtimeout)
- if err != nil {
- continue
- }
- go srv.serve(rw.RemoteAddr(), handler, m, nil, nil, rw)
+ go func() {
+ m, err := reader.ReadTCP(rw, rtimeout)
+ if err != nil {
+ rw.Close()
+ return
+ }
+ srv.serve(rw.RemoteAddr(), handler, m, nil, nil, rw)
+ }()
}
}