diff --git a/server/wsproxy/app.cc b/server/wsproxy/app.cc index 431ae8d..b45c0e0 100644 --- a/server/wsproxy/app.cc +++ b/server/wsproxy/app.cc @@ -570,8 +570,14 @@ void App::FreeUdpMsgQueue() } while (udp_work_node_) { UdpMsgNode* pdelnode = udp_work_node_; - delete pdelnode->pkt; udp_work_node_ = udp_work_node_->next; + { + if (pdelnode->pkt->buf) { + free((void*)pdelnode->pkt->buf); + } + delete pdelnode->pkt; + free(pdelnode); + } if (!udp_work_node_) { udp_work_node_ = udp_top_node_; udp_top_node_ = nullptr; @@ -615,6 +621,13 @@ void App::DispatchUdpMsg() UdpMsgNode *pdelnode = udp_work_node_; LongSessionMgr::Instance()->ProcUdpPacket(pdelnode->pkt); udp_work_node_ = pdelnode->next; + { + if (pdelnode->pkt->buf) { + free((void*)pdelnode->pkt->buf); + } + delete pdelnode->pkt; + free(pdelnode); + } udp_working_msgnode_size_--; if (a8::XGetTickCount() - starttick > 200) { break; diff --git a/server/wsproxy/longsessionmgr.cc b/server/wsproxy/longsessionmgr.cc index ff11297..f66d778 100644 --- a/server/wsproxy/longsessionmgr.cc +++ b/server/wsproxy/longsessionmgr.cc @@ -39,7 +39,10 @@ void LongSessionMgr::Init() void LongSessionMgr::UnInit() { - + for (auto& pair : socket_handle_hash_) { + pair.second->UnInit(); + } + socket_handle_hash_.clear(); } void LongSessionMgr::Update() diff --git a/server/wsproxy/mastermgr.cc b/server/wsproxy/mastermgr.cc index 0ed36cc..8049235 100644 --- a/server/wsproxy/mastermgr.cc +++ b/server/wsproxy/mastermgr.cc @@ -48,6 +48,10 @@ void MasterMgr::Init() void MasterMgr::UnInit() { + for (auto& pair : mastersvr_hash_) { + pair.second->UnInit(); + } + mastersvr_hash_.clear(); } void MasterMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ResponseTargetServer& msg) diff --git a/third_party/a8 b/third_party/a8 index 03f5f63..1e57738 160000 --- a/third_party/a8 +++ b/third_party/a8 @@ -1 +1 @@ -Subproject commit 03f5f63a42a0a72881d224767791efca437d0611 +Subproject commit 1e577389c8a2870db9ddbf18577bfca24def049b diff --git a/third_party/f8 b/third_party/f8 index c15cb12..243bbe5 160000 --- a/third_party/f8 +++ b/third_party/f8 @@ -1 +1 @@ -Subproject commit c15cb12a75cdc0e190a76ffa94f88c0ec06eec41 +Subproject commit 243bbe515ef4a01089f9a6cf608c93d4097018de