This commit is contained in:
azw 2023-05-07 12:23:59 +00:00
parent cd01ffe9c1
commit 8fd6610fa8

View File

@ -229,7 +229,8 @@ void App::AddSocketMsg(SocketFrom_e sockfrom,
int bodylen,
int tag)
{
MsgNode *p = (MsgNode*)malloc(sizeof(MsgNode));
char* buf = MMCache::Instance()->AllocSocketMsg(sizeof(MsgNode) + bodylen);
MsgNode *p = (MsgNode*)buf;
memset(p, 0, sizeof(MsgNode));
p->sockfrom = sockfrom;
p->ip_saddr = ip_saddr;
@ -240,7 +241,7 @@ void App::AddSocketMsg(SocketFrom_e sockfrom,
p->buflen = bodylen;
p->tag = tag;
if (bodylen > 0) {
p->buf = (char*)malloc(bodylen);
p->buf = buf + sizeof(MsgNode);
memmove(p->buf, msgbody, bodylen);
}
msg_mutex_->lock();
@ -365,10 +366,7 @@ void App::DispatchMsg()
}
break;
}
if (pdelnode->buf) {
free(pdelnode->buf);
}
free(pdelnode);
MMCache::Instance()->FreeSocketMsg((char*)pdelnode);
working_msgnode_size_--;
if (a8::XGetTickCount() - starttick > 200) {
break;
@ -542,10 +540,7 @@ void App::FreeSocketMsgQueue()
while (work_node_) {
MsgNode* pdelnode = work_node_;
work_node_ = work_node_->next;
if (pdelnode->buf) {
free(pdelnode->buf);
}
free(pdelnode);
MMCache::Instance()->FreeSocketMsg((char*)pdelnode);
if (!work_node_) {
work_node_ = top_node_;
top_node_ = nullptr;
@ -571,7 +566,7 @@ void App::FreeUdpMsgQueue()
free((void*)pdelnode->pkt->buf);
}
delete pdelnode->pkt;
free(pdelnode);
MMCache::Instance()->FreeUdpMsg((char*)pdelnode);
}
if (!udp_work_node_) {
udp_work_node_ = udp_top_node_;
@ -584,7 +579,8 @@ void App::FreeUdpMsgQueue()
void App::AddUdpMsg(a8::UdpPacket* pkt)
{
UdpMsgNode *p = (UdpMsgNode*) malloc(sizeof(UdpMsgNode));
char* buf = MMCache::Instance()->AllocUdpMsg(sizeof(UdpMsgNode));
UdpMsgNode *p = (UdpMsgNode*)buf;
memset(p, 0, sizeof(UdpMsgNode));
p->pkt = pkt;
udp_msg_mutex_->lock();
@ -621,7 +617,7 @@ void App::DispatchUdpMsg()
free((void*)pdelnode->pkt->buf);
}
delete pdelnode->pkt;
free(pdelnode);
MMCache::Instance()->FreeUdpMsg((char*)pdelnode);
}
udp_working_msgnode_size_--;
if (a8::XGetTickCount() - starttick > 200) {