diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-02-09 17:31:57 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-02-09 17:31:57 +0100 |
commit | 034488fc4aca4fb85c923d881f4b95675eba37b6 (patch) | |
tree | 8a6eb0328b49258f667ed346406da949db8bbdb2 /src/socketengines/socketengine_ports.cpp | |
parent | 4ec65c6231df9fcb38210f9b885cdf73b72cc176 (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.cpp | 4 |
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(); |