From 5e1eb7a8d69575957842930f2bf6fd56631ab9ec Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期一, 21 十二月 2020 15:31:14 +0800
Subject: [PATCH] 注册时添加日志,优化Free

---
 hbusc.go |   51 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/hbusc.go b/hbusc.go
index 805ce3d..ba933bb 100644
--- a/hbusc.go
+++ b/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")

--
Gitblit v1.8.0