From 3696de480a0e2fc4c894e46d643b5c4dc311f4bb Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Thu, 14 Sep 2017 00:13:28 +0200 Subject: [PATCH] socket: set _EP_SOCK_DELETED immediately after checking it --- src/epoll-socket.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/epoll-socket.c b/src/epoll-socket.c index 81e0f48..f904a3a 100644 --- a/src/epoll-socket.c +++ b/src/epoll-socket.c @@ -136,12 +136,11 @@ void ep_sock_delete(ep_port_t* port_info, ep_sock_t* sock_info) { _ep_sock_private_t* sock_private = _ep_sock_private(sock_info); assert(!_ep_sock_is_deleted(sock_private)); + sock_private->flags |= _EP_SOCK_DELETED; ep_port_del_socket(port_info, &sock_info->tree_node); ep_port_clear_socket_update(port_info, sock_info); - sock_private->flags |= _EP_SOCK_DELETED; - _ep_sock_maybe_free(sock_private); }