From 3c7b5df4bd40ac2342c9d4b39e69ed32c3a64246 Mon Sep 17 00:00:00 2001 From: zhanglianghy <zhanglianghy@cmhi.chinamobile.com> Date: Mon, 5 Aug 2019 10:41:01 +0800 Subject: [PATCH] =?UTF-8?q?MOD=20aaa-12=20=E5=A2=9E=E5=8A=A0=E6=A1=A5?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=80=9A=E7=9F=A5=E6=9C=BA=E5=88=B6=20SOL=20?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E6=A1=A5=E4=BA=8B=E4=BB=B6=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=9C=BA=E5=88=B6=20=E4=BF=AE=E6=94=B9=E4=BA=BA?= =?UTF-8?q?=EF=BC=9Azhangliang=20=E6=A3=80=E8=A7=86=E4=BA=BA=EF=BC=9Azhang?= =?UTF-8?q?liang?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configm/config-server/include/brconfig.h | 6 +++++ .../config-server/netconfig/bridge/brconfig.c | 23 ++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Platform/user/configm/config-server/include/brconfig.h b/Platform/user/configm/config-server/include/brconfig.h index 5aac863ed..bedf0c707 100644 --- a/Platform/user/configm/config-server/include/brconfig.h +++ b/Platform/user/configm/config-server/include/brconfig.h @@ -131,6 +131,12 @@ ret_code br_if_bridge_del(char *br_name, char *port_list, /* 获取桥中接口数量 */ int br_if_bridge_num(char *br_name); +ret_code br_event_register(BR_EVENT_TYPE event_type, + BR_EVENT_FUNC event_func); + +ret_code br_event_unregister(BR_EVENT_TYPE event_type, + BR_EVENT_FUNC event_func); + /* **********************************************************/ /* 配置管理注册函数 */ /************************************************************/ diff --git a/Platform/user/configm/config-server/netconfig/bridge/brconfig.c b/Platform/user/configm/config-server/netconfig/bridge/brconfig.c index 873035b7e..72b2e569c 100644 --- a/Platform/user/configm/config-server/netconfig/bridge/brconfig.c +++ b/Platform/user/configm/config-server/netconfig/bridge/brconfig.c @@ -28,13 +28,14 @@ int br_invoke_event(BR_EVENT_TYPE event_type, br_event_t event_arg) if(hnode->br_event == event_type) { hnode->event_func(event_type, event_arg); + rpc_log_info("br event:%d\n", event_type); } } pthread_mutex_unlock(&(br_event_tbl.lock)); } -int br_event_register(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) +ret_code br_event_register(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) { br_event_node_t *hnode = NULL; @@ -45,34 +46,34 @@ int br_event_register(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) br_event_tbl.init = TRUE; } + rpc_log_info("br event register:%d\n", event_type); + hnode = (br_event_node_t *)rpc_new0(br_event_node_t, 1); - if(!hnode) - { - rpc_log_error("br_event_register failed\n"); - return -1; - } + ASSERT_PTR(hnode, RET_NOMEM); INIT_HLIST_NODE(&hnode->list); hnode->br_event = event_type; hnode->event_func = event_func; - pthread_mutex_lock(&(br_event_tbl.lock)); + pthread_mutex_lock(&(br_event_tbl.lock)); hlist_add_head(&hnode->list, &(br_event_tbl.head)); pthread_mutex_unlock(&(br_event_tbl.lock)); - return 0; + return RET_OK; } -int br_event_unregister(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) +ret_code br_event_unregister(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) { br_event_node_t *hnode = NULL; struct hlist_node *n; if(br_event_tbl.init == FALSE) { - return 0; + return RET_OK; } + rpc_log_info("br event unregister:%d\n", event_type); + pthread_mutex_lock(&(br_event_tbl.lock)); hlist_for_each_entry_safe(hnode, n, &(br_event_tbl.head), list) { @@ -86,7 +87,7 @@ int br_event_unregister(BR_EVENT_TYPE event_type, BR_EVENT_FUNC event_func) } pthread_mutex_unlock(&(br_event_tbl.lock)); - return 0; + return RET_OK; } /* 桥配置辅助函数 */