port: add a per-port lock
This commit is contained in:
parent
f1383cadfd
commit
7476633975
@ -38,6 +38,7 @@ ep_port_t* ep_port_new(HANDLE iocp) {
|
||||
queue_init(&port_info->update_queue);
|
||||
tree_init(&port_info->sock_tree);
|
||||
reflock_tree_node_init(&port_info->handle_tree_node);
|
||||
InitializeCriticalSection(&port_info->lock);
|
||||
|
||||
return port_info;
|
||||
}
|
||||
@ -77,6 +78,8 @@ int ep_port_delete(ep_port_t* port_info) {
|
||||
poll_group_allocator_delete(pga);
|
||||
}
|
||||
|
||||
DeleteCriticalSection(&port_info->lock);
|
||||
|
||||
_ep_port_free(port_info);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -23,6 +23,7 @@ typedef struct ep_port {
|
||||
tree_t sock_tree;
|
||||
queue_t update_queue;
|
||||
reflock_tree_node_t handle_tree_node;
|
||||
CRITICAL_SECTION lock;
|
||||
} ep_port_t;
|
||||
|
||||
EPOLL_INTERNAL ep_port_t* ep_port_new(HANDLE iocp);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user