api: epoll_ctl_mod() report EBADF when modifying/deleting invalid socket

This commit is contained in:
Bert Belder 2017-12-04 21:02:49 +01:00
parent d83871797c
commit d5b5b605c0
2 changed files with 3 additions and 3 deletions

View File

@ -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;
}

View File

@ -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) {