From ce3a16ff9e357589d378a3ade2b93c86847226a8 Mon Sep 17 00:00:00 2001 From: lianjun-zhang Date: Wed, 14 Aug 2024 16:16:44 +0800 Subject: [PATCH] =?UTF-8?q?switch=E7=BB=91=E5=AE=9A=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E5=A4=9A=E7=BA=BF=E7=A8=8B=E8=B0=83?= =?UTF-8?q?=E7=94=A8rc2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/device/deviceSwitch/ascendSwitch.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/device/deviceSwitch/ascendSwitch.go b/pkg/device/deviceSwitch/ascendSwitch.go index d442665e..c86d050a 100644 --- a/pkg/device/deviceSwitch/ascendSwitch.go +++ b/pkg/device/deviceSwitch/ascendSwitch.go @@ -18,6 +18,7 @@ package deviceSwitch import ( "context" "fmt" + "runtime" "sync" "time" "unsafe" @@ -48,12 +49,12 @@ import ( // dcmi int (*lq_dcmi_init_func)(); static int dcmi_init_lq(){ - lq_dcmi_init_func(); + return lq_dcmi_init_func(); } int (*lq_dcmi_get_fault_info_func)(unsigned int list_len, unsigned int *event_list_len, struct LqDcmiEvent *event_list); static int lq_dcmi_get_fault_info(unsigned int list_len, unsigned int *event_list_len, struct LqDcmiEvent *event_list){ - lq_dcmi_get_fault_info_func(list_len,event_list_len,event_list); + return lq_dcmi_get_fault_info_func(list_len,event_list_len,event_list); } void goFaultEventHandler(struct LqDcmiEvent *fault_event); @@ -63,7 +64,7 @@ import ( int(*lq_dcmi_subscribe_fault_event_func)(struct lq_dcmi_event_filter filter,lq_dcmi_fault_event_callback handler); static int lq_dcmi_subscribe_fault_event(struct lq_dcmi_event_filter filter){ - lq_dcmi_subscribe_fault_event_func(filter,event_handler); + return lq_dcmi_subscribe_fault_event_func(filter,event_handler); } // load .so files and functions @@ -205,6 +206,7 @@ func goFaultEventHandler(event *C.struct_LqDcmiEvent) { // GetSwitchFaultCodeByInterval start a none stop loop to query and update switch fault code func (sdm *SwitchDevManager) GetSwitchFaultCodeByInterval(ctx context.Context, interval time.Duration) { + runtime.LockOSThread() for { select { case _, ok := <-ctx.Done(): -- Gitee