aboutsummaryrefslogtreecommitdiffstats
path: root/src/event
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-08-07 23:56:49 +0200
committerMax Kellermann <max@duempel.org>2013-08-08 00:18:59 +0200
commit0287ac794e5117772953394fcbc93912cf8e3c22 (patch)
tree6ca3a1b398c2d9958ab06e46ffa3fd4ca43a5d88 /src/event
parent0005221533aa4c4859e818f2599545392efe916d (diff)
downloadmpd-0287ac794e5117772953394fcbc93912cf8e3c22.tar.gz
mpd-0287ac794e5117772953394fcbc93912cf8e3c22.tar.xz
mpd-0287ac794e5117772953394fcbc93912cf8e3c22.zip
event/SocketMonitor: add assertions
Diffstat (limited to 'src/event')
-rw-r--r--src/event/SocketMonitor.cxx6
-rw-r--r--src/event/SocketMonitor.hxx6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/event/SocketMonitor.cxx b/src/event/SocketMonitor.cxx
index 92aac9a92..9bb6e47cf 100644
--- a/src/event/SocketMonitor.cxx
+++ b/src/event/SocketMonitor.cxx
@@ -138,6 +138,8 @@ SocketMonitor::Close()
SocketMonitor::ssize_t
SocketMonitor::Read(void *data, size_t length)
{
+ assert(IsDefined());
+
int flags = 0;
#ifdef MSG_DONTWAIT
flags |= MSG_DONTWAIT;
@@ -149,6 +151,8 @@ SocketMonitor::Read(void *data, size_t length)
SocketMonitor::ssize_t
SocketMonitor::Write(const void *data, size_t length)
{
+ assert(IsDefined());
+
int flags = 0;
#ifdef MSG_NOSIGNAL
flags |= MSG_NOSIGNAL;
@@ -163,5 +167,7 @@ SocketMonitor::Write(const void *data, size_t length)
void
SocketMonitor::CommitEventFlags()
{
+ assert(IsDefined());
+
loop.WakeUp();
}
diff --git a/src/event/SocketMonitor.hxx b/src/event/SocketMonitor.hxx
index c60b8efdf..4cd214018 100644
--- a/src/event/SocketMonitor.hxx
+++ b/src/event/SocketMonitor.hxx
@@ -87,6 +87,8 @@ public:
void Close();
void Schedule(unsigned flags) {
+ assert(IsDefined());
+
poll.events = flags;
poll.revents &= flags;
CommitEventFlags();
@@ -137,10 +139,14 @@ private:
void CommitEventFlags();
bool Check() const {
+ assert(IsDefined());
+
return (poll.revents & poll.events) != 0;
}
void Dispatch() {
+ assert(IsDefined());
+
OnSocketReady(poll.revents & poll.events);
}
};