From 7c850449158da81cbcd476e26b517038dee82220 Mon Sep 17 00:00:00 2001 From: ye-qiannan Date: Mon, 15 Dec 2025 10:54:13 +0800 Subject: [PATCH] fix umq_add_dev --- src/ubsocket/brpc/brpc_file_descriptor.h | 29 ++++++++++++------------ 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/ubsocket/brpc/brpc_file_descriptor.h b/src/ubsocket/brpc/brpc_file_descriptor.h index 14ccb76..613e502 100644 --- a/src/ubsocket/brpc/brpc_file_descriptor.h +++ b/src/ubsocket/brpc/brpc_file_descriptor.h @@ -1577,9 +1577,11 @@ private: return -1; } + int getIndex = 0; for(uint32_t i = 0;i< route_list.len; ++i){ if(route_list.buf[i].flag.bs.rtp == 1){ *connRoute = route_list.buf[i]; + getIndex = i; break; } } @@ -1588,24 +1590,23 @@ private: RPC_ADPT_VLOG_ERR("Failed to find umq dev\n"); return -1; } + - if(mEidRegistry.IsRegisteredEid(*srcEid)) { + if(mEidRegistry.IsRegisteredEid(route_list.buf[getIndex].src)) { return 0; } - - for(uint32_t i = 0;i< route_list.len; ++i){ - umq_trans_info_t trans_info; - trans_info.trans_mode = UMQ_TRANS_MODE_UB; - trans_info.dev_info.assign_mode = UMQ_DEV_ASSIGN_MODE_EID; - trans_info.dev_info.eid.eid = route_list.buf[i].src; - ret = umq_dev_add(&trans_info); - if(ret != 0){ - RPC_ADPT_VLOG_ERR("Failed to add umq dev\n"); - return -1; - } - } - mEidRegistry.RegisterEid(*srcEid); + umq_trans_info_t trans_info; + trans_info.trans_mode = UMQ_TRANS_MODE_UB; + trans_info.dev_info.assign_mode = UMQ_DEV_ASSIGN_MODE_EID; + trans_info.dev_info.eid.eid = route_list.buf[getIndex].src; + ret = umq_dev_add(&trans_info); + if(ret != 0 && ret != -UMQ_ERR_EEXIST){ + RPC_ADPT_VLOG_ERR("Failed to add umq dev, ret %d\n",ret); + return -1; + } + + mEidRegistry.RegisterEid(route_list.buf[getIndex].src); return 0; } -- Gitee