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()