#include <msp/strings/format.h>
#include <msp/time/units.h>
#include "base.h"
+#include "handle.h"
+#include "handle_private.h"
#include "poll.h"
using namespace std;
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)
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)
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);
}