]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't check EV_READ flag. It MUST be a read event
authorAlan T. DeKok <aland@freeradius.org>
Wed, 7 Jan 2015 17:20:52 +0000 (12:20 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 7 Jan 2015 17:20:52 +0000 (12:20 -0500)
src/lib/event.c

index 19b565bf905950ac726c0e933b643817c61fa4bb..6c64a250f570053d1bf8587bd3f08b5e8d728729 100644 (file)
@@ -630,9 +630,9 @@ int fr_event_loop(fr_event_list_t *el)
                 *      Loop over all of the events, servicing them.
                 */
                for (i = 0; i < rcode; i++) {
-                       if (el->events[i].flags & EV_EOF) {
-                               fr_event_fd_t *ef = el->events[i].udata;
+                       fr_event_fd_t *ef = el->events[i].udata;
 
+                       if (el->events[i].flags & EV_EOF) {
                                /*
                                 *      FIXME: delete the handler
                                 *      here, and fix process.c to not
@@ -646,14 +646,12 @@ int fr_event_loop(fr_event_list_t *el)
                                continue;
                        }
 
-                       if (el->events[i].flags & EVFILT_READ) {
-                               fr_event_fd_t *ef = el->events[i].udata;
-
-                               ef->handler(el, ef->fd, ef->ctx);
-                               continue;
-                       }
-
-                       /* else it's an unhandled event, which shouldn't happen */
+                       /*
+                        *      Else it's our event.  We only set
+                        *      EVFILT_READ, so it must be a read
+                        *      event.
+                        */
+                       ef->handler(el, ef->fd, ef->ctx);
                }
 #endif /* HAVE_KQUEUE */
        }