diff options
Diffstat (limited to 'vendor/github.com/miekg/dns/server.go')
-rw-r--r-- | vendor/github.com/miekg/dns/server.go | 13 |
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) + }() } } |