id summary reporter owner description type status milestone component version severity resolution keywords cc 6005 Potential epoll fd leak in boost::asio::detail::epoll_reactor yafei.zhang@… chris_kohlhoff "in boost/asio/detail/impl/epoll_reactor.ipp: epoll_reactor::epoll_reactor(boost::asio::io_service& io_service) : boost::asio::detail::service_base(io_service), io_service_(use_service(io_service)), mutex_(), epoll_fd_(do_epoll_create()), ------> epoll_fd_ may leak if the following member's initialization throws an exception timer_fd_(do_timerfd_create()), interrupter_(), ------> may throw because of EMFILE shutdown_(false) { // Add the interrupter's descriptor to epoll. epoll_event ev = { 0, { 0 } }; ev.events = EPOLLIN | EPOLLERR | EPOLLET; ev.data.ptr = &interrupter_; epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, interrupter_.read_descriptor(), &ev); interrupter_.interrupt(); // Add the timer descriptor to epoll. if (timer_fd_ != -1) { ev.events = EPOLLIN | EPOLLERR; ev.data.ptr = &timer_fd_; epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, timer_fd_, &ev); } }" Bugs closed To Be Determined asio Boost 1.40.0 Problem invalid asio linux epoll fd leak