This commit is contained in:
aozhiwei 2020-06-17 10:10:09 +08:00
parent b02b699a90
commit 8342803cc9

View File

@ -253,19 +253,26 @@ SvrNode* SvrMgr::GetNodeBySocket(int socket_handle)
return itr != socket_hash_.end() ? itr->second : nullptr; return itr != socket_hash_.end() ? itr->second : nullptr;
} }
void SvrMgr::RemoveNode(SvrNode* node) void SvrMgr::RemoveNode(SvrNode* svr_node)
{ {
{ {
for (size_t i = 0; i < node_sorted_list_.size(); ++i) { for (size_t i = 0; i < node_sorted_list_.size(); ++i) {
if (node_sorted_list_[i] == node) { if (node_sorted_list_[i] == svr_node) {
node_sorted_list_.erase(node_sorted_list_.begin() + i); node_sorted_list_.erase(node_sorted_list_.begin() + i);
break; break;
} }
} }
} }
{ {
node_key_hash_.erase(node->key); struct Friend *node, *tmp;
socket_hash_.erase(node->socket_handle); list_for_each_entry_safe(node, tmp, &svr_node->human_list, human_entry) {
list_del_init(&node->human_entry);
node->svr_node = nullptr;
}
} }
delete node; {
node_key_hash_.erase(svr_node->key);
socket_hash_.erase(svr_node->socket_handle);
}
delete svr_node;
} }