1
This commit is contained in:
parent
cd01ffe9c1
commit
8fd6610fa8
@ -229,7 +229,8 @@ void App::AddSocketMsg(SocketFrom_e sockfrom,
|
|||||||
int bodylen,
|
int bodylen,
|
||||||
int tag)
|
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));
|
memset(p, 0, sizeof(MsgNode));
|
||||||
p->sockfrom = sockfrom;
|
p->sockfrom = sockfrom;
|
||||||
p->ip_saddr = ip_saddr;
|
p->ip_saddr = ip_saddr;
|
||||||
@ -240,7 +241,7 @@ void App::AddSocketMsg(SocketFrom_e sockfrom,
|
|||||||
p->buflen = bodylen;
|
p->buflen = bodylen;
|
||||||
p->tag = tag;
|
p->tag = tag;
|
||||||
if (bodylen > 0) {
|
if (bodylen > 0) {
|
||||||
p->buf = (char*)malloc(bodylen);
|
p->buf = buf + sizeof(MsgNode);
|
||||||
memmove(p->buf, msgbody, bodylen);
|
memmove(p->buf, msgbody, bodylen);
|
||||||
}
|
}
|
||||||
msg_mutex_->lock();
|
msg_mutex_->lock();
|
||||||
@ -365,10 +366,7 @@ void App::DispatchMsg()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (pdelnode->buf) {
|
MMCache::Instance()->FreeSocketMsg((char*)pdelnode);
|
||||||
free(pdelnode->buf);
|
|
||||||
}
|
|
||||||
free(pdelnode);
|
|
||||||
working_msgnode_size_--;
|
working_msgnode_size_--;
|
||||||
if (a8::XGetTickCount() - starttick > 200) {
|
if (a8::XGetTickCount() - starttick > 200) {
|
||||||
break;
|
break;
|
||||||
@ -542,10 +540,7 @@ void App::FreeSocketMsgQueue()
|
|||||||
while (work_node_) {
|
while (work_node_) {
|
||||||
MsgNode* pdelnode = work_node_;
|
MsgNode* pdelnode = work_node_;
|
||||||
work_node_ = work_node_->next;
|
work_node_ = work_node_->next;
|
||||||
if (pdelnode->buf) {
|
MMCache::Instance()->FreeSocketMsg((char*)pdelnode);
|
||||||
free(pdelnode->buf);
|
|
||||||
}
|
|
||||||
free(pdelnode);
|
|
||||||
if (!work_node_) {
|
if (!work_node_) {
|
||||||
work_node_ = top_node_;
|
work_node_ = top_node_;
|
||||||
top_node_ = nullptr;
|
top_node_ = nullptr;
|
||||||
@ -571,7 +566,7 @@ void App::FreeUdpMsgQueue()
|
|||||||
free((void*)pdelnode->pkt->buf);
|
free((void*)pdelnode->pkt->buf);
|
||||||
}
|
}
|
||||||
delete pdelnode->pkt;
|
delete pdelnode->pkt;
|
||||||
free(pdelnode);
|
MMCache::Instance()->FreeUdpMsg((char*)pdelnode);
|
||||||
}
|
}
|
||||||
if (!udp_work_node_) {
|
if (!udp_work_node_) {
|
||||||
udp_work_node_ = udp_top_node_;
|
udp_work_node_ = udp_top_node_;
|
||||||
@ -584,7 +579,8 @@ void App::FreeUdpMsgQueue()
|
|||||||
|
|
||||||
void App::AddUdpMsg(a8::UdpPacket* pkt)
|
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));
|
memset(p, 0, sizeof(UdpMsgNode));
|
||||||
p->pkt = pkt;
|
p->pkt = pkt;
|
||||||
udp_msg_mutex_->lock();
|
udp_msg_mutex_->lock();
|
||||||
@ -621,7 +617,7 @@ void App::DispatchUdpMsg()
|
|||||||
free((void*)pdelnode->pkt->buf);
|
free((void*)pdelnode->pkt->buf);
|
||||||
}
|
}
|
||||||
delete pdelnode->pkt;
|
delete pdelnode->pkt;
|
||||||
free(pdelnode);
|
MMCache::Instance()->FreeUdpMsg((char*)pdelnode);
|
||||||
}
|
}
|
||||||
udp_working_msgnode_size_--;
|
udp_working_msgnode_size_--;
|
||||||
if (a8::XGetTickCount() - starttick > 200) {
|
if (a8::XGetTickCount() - starttick > 200) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user