inline int sys_poll_event(PollEvent event)
{
- int result=0;
+ int result = 0;
if(event&~(P_INPUT|P_PRIO|P_OUTPUT))
throw InvalidParameterValue("Invalid poll events");
#ifndef WIN32
if(event&P_INPUT)
- result|=POLLIN;
+ result |= POLLIN;
if(event&P_PRIO)
- result|=POLLPRI;
+ result |= POLLPRI;
if(event&P_OUTPUT)
- result|=POLLOUT;
+ result |= POLLOUT;
#endif
return result;
inline PollEvent poll_event_from_sys(int event)
{
- PollEvent result=P_NONE;
+ PollEvent result = P_NONE;
#ifdef WIN32
// Stop the compiler from complaining about unused parameter
- event=event;
+ event = event;
#else
if(event&POLLIN)
- result=result|P_INPUT;
+ result = result|P_INPUT;
if(event&POLLPRI)
- result=result|P_PRIO;
+ result = result|P_PRIO;
if(event&POLLOUT)
- result=result|P_OUTPUT;
+ result = result|P_OUTPUT;
if(event&POLLERR)
- result=result|P_ERROR;
+ result = result|P_ERROR;
#endif
return result;
{
#ifdef WIN32
if(timeout<0)
- timeout=INFINITE;
+ 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);
+ int ret = ::poll(&pfd, 1, timeout);
if(ret==-1)
{
if(errno==EINTR)
if(ev)
obj.get_event_handle();
- SlotMap::iterator i=objects.find(&obj);
+ SlotMap::iterator i = objects.find(&obj);
if(i!=objects.end())
{
if(ev)
- i->second.events=ev;
+ i->second.events = ev;
else
objects.erase(i);
- pfd_dirty=true;
+ pfd_dirty = true;
}
else if(ev)
{
#endif
objects.insert(SlotMap::value_type(&obj, Slot(&obj, ev)));
- pfd_dirty=true;
+ pfd_dirty = true;
}
}
for(SlotMap::iterator i=objects.begin(); i!=objects.end(); ++i)
{
- p.fd=i->second.object->get_event_handle();
+ p.fd = i->second.object->get_event_handle();
#ifndef WIN32
- p.events=sys_poll_event(i->second.events);
+ p.events = sys_poll_event(i->second.events);
#endif
pfd.push_back(p);
}
- pfd_dirty=false;
+ pfd_dirty = false;
}
int Poller::do_poll(int timeout)
#ifdef WIN32
if(timeout<0)
- timeout=INFINITE;
+ timeout = INFINITE;
- DWORD ret=WaitForMultipleObjects(pfd.size(), &pfd.front().fd, false, timeout);
+ DWORD ret = WaitForMultipleObjects(pfd.size(), &pfd.front().fd, false, timeout);
if(/*ret>=WAIT_OBJECT_0 &&*/ ret<WAIT_OBJECT_0+pfd.size())
{
- SlotMap::iterator i=objects.begin();
+ SlotMap::iterator i = objects.begin();
advance(i, ret-WAIT_OBJECT_0);
poll_result.push_back(Slot(i->second.object, i->second.events));
return 0;
#else
- int ret=::poll(&pfd.front(), pfd.size(), timeout);
+ int ret = ::poll(&pfd.front(), pfd.size(), timeout);
if(ret==-1)
{
if(errno==EINTR)
throw SystemError("Poll failed", errno);
}
- int n=ret;
- SlotMap::iterator j=objects.begin();
+ int n = ret;
+ SlotMap::iterator j = objects.begin();
for(std::vector<pollfd>::iterator i=pfd.begin(); (i!=pfd.end() && n>0); ++i,++j)
if(i->revents)
{