liuxiaolong
2020-12-21 5e1eb7a8d69575957842930f2bf6fd56631ab9ec
注册时添加日志,优化Free
1个文件已修改
51 ■■■■■ 已修改文件
hbusc.go 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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")