diff options
Diffstat (limited to '')
-rw-r--r-- | src/event/Loop.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/event/Loop.cxx b/src/event/Loop.cxx index 665dfa500..5aa24aea2 100644 --- a/src/event/Loop.cxx +++ b/src/event/Loop.cxx @@ -58,13 +58,18 @@ EventLoop::Break() AddCall([this]() { Break(); }); } -bool -EventLoop::RemoveFD(int _fd, SocketMonitor &m) +void +EventLoop::Abandon(SocketMonitor &m) { for (unsigned i = 0, n = n_events; i < n; ++i) if (events[i].data.ptr == &m) events[i].events = 0; +} +bool +EventLoop::RemoveFD(int _fd, SocketMonitor &m) +{ + Abandon(m); return epoll.Remove(_fd); } |