diff options
author | Max Kellermann <max@duempel.org> | 2013-08-07 23:56:49 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-08-08 00:18:59 +0200 |
commit | 0287ac794e5117772953394fcbc93912cf8e3c22 (patch) | |
tree | 6ca3a1b398c2d9958ab06e46ffa3fd4ca43a5d88 /src/event | |
parent | 0005221533aa4c4859e818f2599545392efe916d (diff) | |
download | mpd-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.cxx | 6 | ||||
-rw-r--r-- | src/event/SocketMonitor.hxx | 6 |
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); } }; |