1
This commit is contained in:
parent
cd01ffe9c1
commit
8fd6610fa8
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user