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