api: epoll_ctl_mod() report EBADF when modifying/deleting invalid socket
This commit is contained in:
parent
d83871797c
commit
d5b5b605c0
@ -348,7 +348,7 @@ ep_sock_t* ep_port_find_socket(ep_port_t* port_info, SOCKET socket) {
|
||||
ep_sock_t* sock_info = safe_container_of(
|
||||
tree_find(&port_info->sock_tree, socket), ep_sock_t, tree_node);
|
||||
if (sock_info == NULL)
|
||||
return_error(NULL, ERROR_NOT_FOUND);
|
||||
return_handle_error(NULL, socket, ERROR_NOT_FOUND);
|
||||
return sock_info;
|
||||
}
|
||||
|
||||
|
||||
@ -45,12 +45,12 @@ static void check_dropped(HANDLE ephnd, SOCKET sock) {
|
||||
/* Check that EPOLL_CTL_MOD fails. */
|
||||
r = epoll_ctl(ephnd, EPOLL_CTL_MOD, sock, &ev);
|
||||
check(r < 0);
|
||||
check(errno == ENOENT); /* TODO: should be EBADF. */
|
||||
check(errno == EBADF);
|
||||
|
||||
/* Check that EPOLL_CTL_DEL fails. */
|
||||
r = epoll_ctl(ephnd, EPOLL_CTL_DEL, sock, &ev);
|
||||
check(r < 0);
|
||||
check(errno == ENOENT); /* TODO: should be EBADF. */
|
||||
check(errno == EBADF);
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user