summaryrefslogtreecommitdiff
path: root/src/socketengines/socketengine_ports.cpp
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-02-09 17:31:57 +0100
committerAttila Molnar <attilamolnar@hush.com>2014-02-09 17:31:57 +0100
commit034488fc4aca4fb85c923d881f4b95675eba37b6 (patch)
tree8a6eb0328b49258f667ed346406da949db8bbdb2 /src/socketengines/socketengine_ports.cpp
parent4ec65c6231df9fcb38210f9b885cdf73b72cc176 (diff)
Store the EventHandler* in the kevent/epoll_event/portev struct
This removes the need to call GetRef() for every socket in DispatchEvents()
Diffstat (limited to 'src/socketengines/socketengine_ports.cpp')
-rw-r--r--src/socketengines/socketengine_ports.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/socketengines/socketengine_ports.cpp b/src/socketengines/socketengine_ports.cpp
index d7425813e..c30400107 100644
--- a/src/socketengines/socketengine_ports.cpp
+++ b/src/socketengines/socketengine_ports.cpp
@@ -157,8 +157,8 @@ int SocketEngine::DispatchEvents()
// Copy these in case the vector gets resized and ev invalidated
const int fd = ev.portev_object;
const int portev_events = ev.portev_events;
- EventHandler* eh = GetRef(fd);
- if (!eh)
+ EventHandler* eh = static_cast<EventHandler*>(ev.portev_user);
+ if (eh->GetFd() < 0)
continue;
int mask = eh->GetEventMask();