X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FScheduler%2FPoller.ct;h=bbe5c31cfd30713df28bf5e08c0795fb7f6e8db8;hb=0e83cd2ee1ebc409cf73d8774b01bf01f3df22f4;hp=92a13e627f8d996a43e4222809a4dfa5f507a933;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Scheduler/Poller.ct b/senf/Scheduler/Poller.ct index 92a13e6..bbe5c31 100644 --- a/senf/Scheduler/Poller.ct +++ b/senf/Scheduler/Poller.ct @@ -27,7 +27,7 @@ // Custom includes #include -#include "../Utils/Exception.hh" +#include #define prefix_ ///////////////////////////////ct.p//////////////////////////////////////// @@ -65,14 +65,12 @@ prefix_ typename senf::scheduler::detail::Poller::range senf::scheduler:: { static epoll_event events[NumEvents]; int rv (0); - for (;;) { - rv = epoll_wait(epollFd_, events, NumEvents, timeout_); - if (rv == -1) { - if (errno == EINTR) - continue; + rv = epoll_wait(epollFd_, events, NumEvents, timeout_); + if (rv == -1) { + if (errno == EINTR) + rv = 0; + else SENF_THROW_SYSTEM_EXCEPTION("epoll_wait()"); - } - break; } return boost::make_iterator_range( boost::make_transform_iterator(events, GetPollResult()),