From b6d2aeec8bd849c70028c01943968eba26474ea4 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 26 八月 2019 14:15:21 +0800
Subject: [PATCH] update shm

---
 profile/shmrecv.go |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/profile/shmrecv.go b/profile/shmrecv.go
index 7bbfe60..08ca30c 100644
--- a/profile/shmrecv.go
+++ b/profile/shmrecv.go
@@ -24,8 +24,23 @@
 		default:
 			msg, err = c.Recv()
 			if err != nil {
+				c.Close()
+				url := "hello"
+				i, err := deliver.NewClientWithError(deliver.Shm, url)
+				for {
+					if err == nil {
+						break
+					}
+					time.Sleep(1 * time.Second)
+					i, err = deliver.NewClientWithError(deliver.Shm, url)
+
+					fmt.Println("client create failed : ", err)
+
+				}
+				c = i
+
 				fmt.Println("recv error : ", err)
-				return
+				continue
 			}
 			if ch != nil {
 				ch <- true
@@ -67,7 +82,9 @@
 		go shmrecver(ctx, s, 0, nil)
 
 	} else {
-		// recvers(ctx, ipc, count, nil)
+		recvers(ctx, ipc, count, nil)
+
+		return
 
 		chWaiter := make(chan bool, count)
 		cs := recvers(ctx, ipc, count, chWaiter)
@@ -85,10 +102,10 @@
 						for _, v := range cs {
 							v.Close()
 						}
-						cs = recvers(ctx, ipc, count, chWaiter)
-						fmt.Println("restart recievers")
-						waitCount = 0
-						continue
+						// cs = recvers(ctx, ipc, count, chWaiter)
+						// fmt.Println("restart recievers")
+						// waitCount = 0
+						// continue
 					}
 					time.Sleep(time.Millisecond * 5)
 					waitCount++

--
Gitblit v1.8.0