zhangmeng
2019-08-29 a735e666cff14e4e485110d2a59d401b4be61b9b
camera/camera.go
@@ -5,10 +5,11 @@
   //"sync"
   "taskpubsub/logger"
   "basic.com/pubsub/protomsg.git"
   "github.com/gogo/protobuf/proto"
   "taskpubsub/sdk"
   "taskpubsub/util"
   "basic.com/pubsub/protomsg.git"
   "github.com/gogo/protobuf/proto"
   // "golang.org/x/sys/unix"
@@ -61,14 +62,13 @@
      url := fmt.Sprintf("ipc:///tmp/%s.ipc", id)
      m := deliver.PushPull
      if shm{
      if shm {
         m = deliver.Shm
         url = id
         // unix.Unlink("/dev/shm/" + url)
      }
      fmt.Println("ipc url: ", url)
      fmt.Println("CAMERA URL : ", url)
      socket, err := util.NewSocketListen(int(m), url, shm)
      if err != nil {
         logger.Error("create socket error")
@@ -124,6 +124,8 @@
func Recv(socket util.SocketContext) {
   tryCount := 0
   var recvmessage []byte
   var imagemsg protomsg.Image
   var err error
@@ -135,6 +137,17 @@
      default:
         if recvmessage, err = socket.Sock.Recv(); err != nil {
            //logger.Error("[camera] err is: ", err)
            if socket.UseSHM {
               if tryCount > util.SHMMaxTryCount {
                  socket, err = util.NewSocketListen(socket.Mode, socket.URL, socket.UseSHM)
                  fmt.Println("CAMERA SHM TRY :", tryCount, " RESTART IT")
                  tryCount = 0
                  continue
               }
               tryCount++
            }
            continue
         }