socket: add ep_sock_force_delete()
This commit is contained in:
parent
caade91a1a
commit
258ce95f79
@ -145,6 +145,14 @@ void ep_sock_delete(ep_port_t* port_info, ep_sock_t* sock_info) {
|
||||
_ep_sock_maybe_free(sock_private);
|
||||
}
|
||||
|
||||
void ep_sock_force_delete(ep_port_t* port_info, ep_sock_t* sock_info) {
|
||||
_ep_sock_private_t* sock_private = _ep_sock_private(sock_info);
|
||||
if (sock_private->latest_poll_req != NULL)
|
||||
poll_req_delete(port_info, sock_info, sock_private->latest_poll_req);
|
||||
assert(sock_private->poll_req_count == 0);
|
||||
ep_sock_delete(port_info, sock_info);
|
||||
}
|
||||
|
||||
ep_sock_t* ep_sock_find(tree_t* tree, SOCKET socket) {
|
||||
tree_node_t* tree_node = tree_find(tree, socket);
|
||||
if (tree_node == NULL)
|
||||
|
||||
@ -21,6 +21,8 @@ typedef struct ep_sock {
|
||||
|
||||
EPOLL_INTERNAL ep_sock_t* ep_sock_new(ep_port_t* port_info, SOCKET socket);
|
||||
EPOLL_INTERNAL void ep_sock_delete(ep_port_t* port_info, ep_sock_t* sock_info);
|
||||
EPOLL_INTERNAL void ep_sock_force_delete(ep_port_t* port_info,
|
||||
ep_sock_t* sock_info);
|
||||
|
||||
EPOLL_INTERNAL ep_sock_t* ep_sock_find(tree_t* tree, SOCKET socket);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user