优化内存泄露问题
This commit is contained in:
parent
10db780deb
commit
6889784621
@ -570,8 +570,14 @@ void App::FreeUdpMsgQueue()
|
|||||||
}
|
}
|
||||||
while (udp_work_node_) {
|
while (udp_work_node_) {
|
||||||
UdpMsgNode* pdelnode = udp_work_node_;
|
UdpMsgNode* pdelnode = udp_work_node_;
|
||||||
delete pdelnode->pkt;
|
|
||||||
udp_work_node_ = udp_work_node_->next;
|
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_) {
|
if (!udp_work_node_) {
|
||||||
udp_work_node_ = udp_top_node_;
|
udp_work_node_ = udp_top_node_;
|
||||||
udp_top_node_ = nullptr;
|
udp_top_node_ = nullptr;
|
||||||
@ -615,6 +621,13 @@ void App::DispatchUdpMsg()
|
|||||||
UdpMsgNode *pdelnode = udp_work_node_;
|
UdpMsgNode *pdelnode = udp_work_node_;
|
||||||
LongSessionMgr::Instance()->ProcUdpPacket(pdelnode->pkt);
|
LongSessionMgr::Instance()->ProcUdpPacket(pdelnode->pkt);
|
||||||
udp_work_node_ = pdelnode->next;
|
udp_work_node_ = pdelnode->next;
|
||||||
|
{
|
||||||
|
if (pdelnode->pkt->buf) {
|
||||||
|
free((void*)pdelnode->pkt->buf);
|
||||||
|
}
|
||||||
|
delete pdelnode->pkt;
|
||||||
|
free(pdelnode);
|
||||||
|
}
|
||||||
udp_working_msgnode_size_--;
|
udp_working_msgnode_size_--;
|
||||||
if (a8::XGetTickCount() - starttick > 200) {
|
if (a8::XGetTickCount() - starttick > 200) {
|
||||||
break;
|
break;
|
||||||
|
@ -39,7 +39,10 @@ void LongSessionMgr::Init()
|
|||||||
|
|
||||||
void LongSessionMgr::UnInit()
|
void LongSessionMgr::UnInit()
|
||||||
{
|
{
|
||||||
|
for (auto& pair : socket_handle_hash_) {
|
||||||
|
pair.second->UnInit();
|
||||||
|
}
|
||||||
|
socket_handle_hash_.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LongSessionMgr::Update()
|
void LongSessionMgr::Update()
|
||||||
|
@ -48,6 +48,10 @@ void MasterMgr::Init()
|
|||||||
|
|
||||||
void MasterMgr::UnInit()
|
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)
|
void MasterMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_ResponseTargetServer& msg)
|
||||||
|
2
third_party/a8
vendored
2
third_party/a8
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 03f5f63a42a0a72881d224767791efca437d0611
|
Subproject commit 1e577389c8a2870db9ddbf18577bfca24def049b
|
2
third_party/f8
vendored
2
third_party/f8
vendored
@ -1 +1 @@
|
|||||||
Subproject commit c15cb12a75cdc0e190a76ffa94f88c0ec06eec41
|
Subproject commit 243bbe515ef4a01089f9a6cf608c93d4097018de
|
Loading…
x
Reference in New Issue
Block a user