From ac8cd7878c723b698420572df92b293dd041d9ff Mon Sep 17 00:00:00 2001 From: Twitch Date: Sun, 7 Jan 2018 03:01:19 +1100 Subject: [PATCH] Fixes #613 (#617) * Fixes #613 * use net.Error interface for detecting temporary errors --- server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server.go b/server.go index 136a9a1c..59135b0f 100644 --- a/server.go +++ b/server.go @@ -509,7 +509,10 @@ func (srv *Server) serveUDP(l *net.UDPConn) error { } srv.lock.RUnlock() if err != nil { - continue + if netErr, ok := err.(net.Error); ok && netErr.Temporary() { + continue + } + return err } go srv.serve(s.RemoteAddr(), handler, m, l, s, nil) }