From 5b7c94179066cabd8a804c856d6cd74279565db8 Mon Sep 17 00:00:00 2001 From: damnever <dxc.wolf@gmail.com> Date: Thu, 2 Nov 2017 23:46:03 +0800 Subject: [PATCH] Check error --- birpc/client.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/birpc/client.go b/birpc/client.go index 7dcbdfd..37268ff 100644 --- a/birpc/client.go +++ b/birpc/client.go @@ -71,11 +71,15 @@ func (cli *Client) Run(handler ClientHandler) error { defer ticker.Stop() tryConnect := tryConnectFunc(conf, cli.closed) +LOOP: for { select { case <-cli.closed: return nil case err := <-conn.Err(): + if nerr, ok := err.(net.Error); ok && nerr.Temporary() { + continue LOOP + } handler.HandleError(err) conn.Close() rawConn, fatalErr := tryConnect()