aboutsummaryrefslogtreecommitdiffstats
path: root/src/event/SocketMonitor.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-11-06 18:20:51 +0100
committerMax Kellermann <max@duempel.org>2013-11-06 19:05:45 +0100
commit154bdf0bca49f36f6ff8bc7f001634735ceb0b73 (patch)
treec9532d8726d34c12f2fb060873d8aef5ceb91e2b /src/event/SocketMonitor.cxx
parented436c6f0c5d3c3d8d4b89ffc74655c7b872f0c0 (diff)
downloadmpd-154bdf0bca49f36f6ff8bc7f001634735ceb0b73.tar.gz
mpd-154bdf0bca49f36f6ff8bc7f001634735ceb0b73.tar.xz
mpd-154bdf0bca49f36f6ff8bc7f001634735ceb0b73.zip
event/SocketMonitor: add method Abandon()
Diffstat (limited to '')
-rw-r--r--src/event/SocketMonitor.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/event/SocketMonitor.cxx b/src/event/SocketMonitor.cxx
index 7c118cfd6..2b97059f7 100644
--- a/src/event/SocketMonitor.cxx
+++ b/src/event/SocketMonitor.cxx
@@ -152,6 +152,19 @@ SocketMonitor::Steal()
}
void
+SocketMonitor::Abandon()
+{
+ assert(IsDefined());
+
+#ifdef USE_EPOLL
+ fd = -1;
+ loop.Abandon(*this);
+#else
+ Steal();
+#endif
+}
+
+void
SocketMonitor::Close()
{
close_socket(Steal());