zhangmeng
2019-08-26 b6d2aeec8bd849c70028c01943968eba26474ea4
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++