X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpoll.cpp;h=1ca0987ac10fd0ce7795f5649f667ffc6f178c42;hp=d78a2c01c023602bbcdb080abde3c0eab798887e;hb=31e72f50fbb34d86877e5110401c49ce3fefd4bb;hpb=378ec811c8df431f5b4e7094eb1949476d3a79fe diff --git a/source/io/poll.cpp b/source/io/poll.cpp index d78a2c0..1ca0987 100644 --- a/source/io/poll.cpp +++ b/source/io/poll.cpp @@ -7,6 +7,8 @@ #include #include #include "base.h" +#include "handle.h" +#include "handle_private.h" #include "poll.h" using namespace std; @@ -61,7 +63,7 @@ inline PollEvent do_poll(Base &obj, PollEvent pe, int timeout) if(timeout<0) timeout = INFINITE; - DWORD ret = WaitForSingleObject(obj.get_event_handle(), timeout); + DWORD ret = WaitForSingleObject(*obj.get_event_handle(), timeout); if(ret==WAIT_OBJECT_0) return pe; else if(ret==WAIT_FAILED) @@ -69,7 +71,7 @@ inline PollEvent do_poll(Base &obj, PollEvent pe, int timeout) return P_NONE; #else - pollfd pfd = { obj.get_event_handle(), sys_poll_event(pe), 0 }; + pollfd pfd = { *obj.get_event_handle(), sys_poll_event(pe), 0 }; int ret = ::poll(&pfd, 1, timeout); if(ret==-1) @@ -152,14 +154,14 @@ void Poller::rebuild_array() priv->handles.clear(); for(EventMap::iterator i=objects.begin(); i!=objects.end(); ++i) - priv->handles.push_back(i->first->get_event_handle()); + priv->handles.push_back(*i->first->get_event_handle()); #else priv->pfd.clear(); for(EventMap::iterator i=objects.begin(); i!=objects.end(); ++i) { pollfd p; - p.fd = i->first->get_event_handle(); + p.fd = *i->first->get_event_handle(); p.events = sys_poll_event(i->second); priv->pfd.push_back(p); }