diff --git a/server/wsproxy/mastersvrmgr.cc b/server/wsproxy/mastersvrmgr.cc index 7eb5521..e7b63ea 100644 --- a/server/wsproxy/mastersvrmgr.cc +++ b/server/wsproxy/mastersvrmgr.cc @@ -45,7 +45,6 @@ void MasterSvrMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ { f8::MsgHdr* context_hdr = GetHdrByContextId(msg.context_id()); if (context_hdr) { - bool auto_free = true; int socket_handle = context_hdr->socket_handle; if (msg.error_code() == 0) { TargetConn* conn = TargetConnMgr::Instance()->RecreateTargetConn( @@ -54,11 +53,12 @@ void MasterSvrMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ ); assert(conn); if (conn) { - auto_free = false; + RemoveRequest(socket_handle, msg.context_id(), false); conn->ForwardClientMsgEx(context_hdr); + return; } } - RemoveRequest(socket_handle, msg.context_id(), auto_free); + RemoveRequest(socket_handle, msg.context_id(), true); } }