From e54a6cf1bc00774354d710e0c0ffa0abab3efbb4 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Fri, 30 Oct 2015 17:08:27 +0000 Subject: [PATCH] Only re-try AcceptTCP() if the error is temporary --- server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server.go b/server.go index 223489a8..b2888f38 100644 --- a/server.go +++ b/server.go @@ -434,7 +434,10 @@ func (srv *Server) serveTCP(l *net.TCPListener) error { for { rw, e := l.AcceptTCP() if e != nil { - continue + if neterr, ok := e.(net.Error); ok && neterr.Temporary() { + continue + } + return e } m, e := reader.ReadTCP(rw, rtimeout) srv.lock.RLock()