Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / Scheduler / Poller.ct
index 92a13e6..de71770 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2008 
+// Copyright (C) 2008
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
 // Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 
 // Custom includes
 #include <errno.h>
-#include "../Utils/Exception.hh"
+#include <senf/Utils/Exception.hh>
 
 #define prefix_
-///////////////////////////////ct.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 template <class Value>
 prefix_ bool senf::scheduler::detail::Poller<Value>::set(int fd, int events, Value * data)
 {
     struct epoll_event ev = { events, { data } };
-    if (epoll_ctl(epollFd_, EPOLL_CTL_ADD, fd, &ev) != -1) 
+    if (epoll_ctl(epollFd_, EPOLL_CTL_ADD, fd, &ev) != -1)
         return true;
     if (errno == EEXIST)
         if (epoll_ctl(epollFd_, EPOLL_CTL_MOD, fd, &ev) != -1)
@@ -65,21 +65,19 @@ prefix_ typename senf::scheduler::detail::Poller<Value>::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()),
         boost::make_transform_iterator(events+rv, GetPollResult()) );
 }
 
-///////////////////////////////ct.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f