liuxiaolong
2020-12-21 5e1eb7a8d69575957842930f2bf6fd56631ab9ec
hbusc.go
@@ -139,16 +139,16 @@
            })
         }
         var rMsg []bhomebus.Mesg
         if n := regSock.Sendandrecv(regAddr, msg, &rMsg); n == 0 {
            if len(rMsg) == 1 {
               var rr RegisterReply
               if err = json.Unmarshal(rMsg[0].Data, &rr);err != nil {
                  handle.printLog("unmarshal regReply err:", err)
                  return nil, errors.New("unmarshal regReply err:"+err.Error())
               } else {
                  regR = &rr
                  break loop
               }
         n := regSock.Sendandrecv(regAddr, msg, &rMsg)
         handle.printLog("regSock.Sendandrecv n:", n, "len(rMsg):", len(rMsg))
         if n == 0 && len(rMsg) == 1 {
            var rr RegisterReply
            if err = json.Unmarshal(rMsg[0].Data, &rr);err != nil {
               handle.printLog("unmarshal regReply err:", err)
               return nil, errors.New("unmarshal regReply err:"+err.Error())
            } else {
               regR = &rr
               break loop
            }
         } else {
            time.Sleep(100 * time.Millisecond)
@@ -259,17 +259,26 @@
   for _,v := range h.m {
      v.sock.Close()
   }
   h.sockRep.sock.Close()
   h.sockRep = nil
   h.sockHB.sock.Close()
   h.sockHB = nil
   h.sockPub.sock.Close()
   h.sockPub = nil
   h.sockSub.sock.Close()
   h.sockSub = nil
   h.sockWorker.sock.Close()
   h.sockWorker = nil
   if h.sockRep != nil {
      h.sockRep.sock.Close()
      h.sockRep = nil
   }
   if h.sockHB != nil {
      h.sockHB.sock.Close()
      h.sockHB = nil
   }
   if h.sockPub != nil {
      h.sockPub.sock.Close()
      h.sockPub = nil
   }
   if h.sockSub != nil {
      h.sockSub.sock.Close()
      h.sockSub = nil
   }
   if h.sockWorker != nil {
      h.sockWorker.sock.Close()
      h.sockWorker = nil
   }
   bhomebus.Release()
   h.printLog("BHBus Freed")