diff --git a/src/rpc/src/rpcMain.c b/src/rpc/src/rpcMain.c index f616cd00b7f43430431ee88d14e7356ae9b99077..dfb549b3f9c914fefa396a6cefcd974bc11eff97 100644 --- a/src/rpc/src/rpcMain.c +++ b/src/rpc/src/rpcMain.c @@ -643,10 +643,11 @@ static SRpcConn *rpcGetConnObj(SRpcInfo *pRpc, int sid, SRecvInfo *pRecv) { if (sid) { pConn = pRpc->connList + sid; - } else { - pConn = rpcAllocateServerConn(pRpc, pRecv); + if (pConn->user[0] == 0) pConn = NULL; } + if (pConn == NULL) pConn = rpcAllocateServerConn(pRpc, pRecv); + if (pConn) { if (pConn->linkUid != pHead->linkUid) { tTrace("%s %p, linkUid:0x%x not matched, received:0x%x", pRpc->label, pConn, pConn->linkUid, pHead->linkUid);