From a1550bdfac607d789d617ed1897d05b1ceb51b42 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Thu, 9 Jan 2020 18:39:58 +0300 Subject: [PATCH] EPOLL_CTL_DEL does not require &ev --- osd.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/osd.cpp b/osd.cpp index be8560bde..c1fe45b71 100644 --- a/osd.cpp +++ b/osd.cpp @@ -63,6 +63,8 @@ osd_t::osd_t(blockstore_config_t & config, blockstore_t *bs, ring_loop_t *ringlo ev.events = EPOLLIN; if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, listen_fd, &ev) < 0) { + close(listen_fd); + close(epoll_fd); throw std::runtime_error(std::string("epoll_ctl: ") + strerror(errno)); } @@ -281,10 +283,7 @@ int osd_t::handle_epoll_events() void osd_t::stop_client(int peer_fd) { - epoll_event ev; - ev.data.fd = peer_fd; - ev.events = EPOLLIN | EPOLLHUP; - if (epoll_ctl(epoll_fd, EPOLL_CTL_DEL, peer_fd, &ev) < 0) + if (epoll_ctl(epoll_fd, EPOLL_CTL_DEL, peer_fd, NULL) < 0) { throw std::runtime_error(std::string("epoll_ctl: ") + strerror(errno)); }