From 7fa99e0efe07a120af719da2cae5c1151f024403 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 03 四月 2024 10:17:25 +0800 Subject: [PATCH] remove some defer --- api/bhsgo/bhome_node.go | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/api/bhsgo/bhome_node.go b/api/bhsgo/bhome_node.go index c3ce675..1b4564f 100644 --- a/api/bhsgo/bhome_node.go +++ b/api/bhsgo/bhome_node.go @@ -134,11 +134,11 @@ creply_len := C.int(0) r := C.BHQueryTopicAddress(getPtr(&dest), C.int(len(dest)), getPtr(&data), C.int(len(data)), &creply, &creply_len, C.int(timeout_ms)) > 0 - defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } + C.BHFree(creply, creply_len) return r } @@ -150,11 +150,11 @@ creply_len := C.int(0) r := C.BHQueryProcs(getPtr(&dest), C.int(len(dest)), getPtr(&data), C.int(len(data)), &creply, &creply_len, C.int(timeout_ms)) > 0 - defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } + C.BHFree(creply, creply_len) return r } @@ -172,12 +172,12 @@ creply_len := C.int(0) r := C.BHReadSub(&cpid, &cpid_len, &creply, &creply_len, C.int(timeout_ms)) > 0 - defer C.BHFree(cpid, cpid_len) - defer C.BHFree(creply, creply_len) if r { *proc_id = string(unsafeGetBytes(&cpid, int(cpid_len))) pub.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } + C.BHFree(cpid, cpid_len) + C.BHFree(creply, creply_len) return r } @@ -206,14 +206,14 @@ creply_len := C.int(0) r := C.BHRequest(getPtr(&dest), C.int(len(dest)), getPtr(&data), C.int(len(data)), &cpid, &cpid_len, &creply, &creply_len, C.int(timeout_ms)) > 0 - defer C.BHFree(cpid, cpid_len) - defer C.BHFree(creply, creply_len) if r { // *proc_id = string(C.GoBytes(cpid, cpid_len)) // reply.Unmarshal(C.GoBytes(creply, creply_len)) *proc_id = string(unsafeGetBytes(&cpid, int(cpid_len))) reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } + C.BHFree(cpid, cpid_len) + C.BHFree(creply, creply_len) return r } @@ -225,21 +225,22 @@ creply_len := C.int(0) r := C.BHReadRequest(&cpid, &cpid_len, &creply, &creply_len, psrc, C.int(timeout_ms)) > 0 - defer C.BHFree(cpid, cpid_len) - defer C.BHFree(creply, creply_len) if r { // *proc_id = string(C.GoBytes(cpid, cpid_len)) // req.Unmarshal(C.GoBytes(creply, creply_len)) *proc_id = string(unsafeGetBytes(&cpid, int(cpid_len))) req.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } + C.BHFree(cpid, cpid_len) + C.BHFree(creply, creply_len) return r } func SendReply(src unsafe.Pointer, rep *bh.MsgRequestTopicReply) bool { data, _ := rep.Marshal() - defer C.BHFree(src, 0) - return C.BHSendReply(src, getPtr(&data), C.int(len(data))) > 0 + ret := C.BHSendReply(src, getPtr(&data), C.int(len(data))) > 0 + C.BHFree(src, 0) + return ret } func GetLastError() (int, string) { @@ -267,12 +268,12 @@ creply_len := C.int(0) r := C.BHRequest(getPtr(&dest), C.int(len(dest)), getPtr(&data), C.int(len(data)), &cpid, &cpid_len, &creply, &creply_len, C.int(timeout_ms)) > 0 - defer C.BHFree(cpid, cpid_len) if r { *proc_id = string(unsafeGetBytes(&cpid, int(cpid_len))) *replyPtr = creply *replyLen = int(creply_len) } + C.BHFree(cpid, cpid_len) return r } func CFree(p unsafe.Pointer, size int) { -- Gitblit v1.8.0