logger: extract epoll dispatcher 49/233849/2
authorMichal Bloch <m.bloch@samsung.com>
Thu, 7 May 2020 16:40:23 +0000 (18:40 +0200)
committerMichal Bloch <m.bloch@samsung.com>
Tue, 26 May 2020 12:15:45 +0000 (14:15 +0200)
Change-Id: I4202a56d7ee3b41ea9b2fe2c61d85112219ebff3
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
src/logger/logger.c

index 33082ca..b972e89 100644 (file)
@@ -1920,6 +1920,13 @@ static int initialize_epoll_size(struct epoll_event **events, unsigned *size)
        return 0;
 }
 
+void dispatch_epoll_event(struct logger *server, struct epoll_event *event)
+{
+       struct fd_entity *const entity = (struct fd_entity *) event->data.ptr;
+       assert(entity->dispatch_event);
+       entity->dispatch_event(server, event);
+}
+
 /**
  * @brief Do logging
  * @details The main logging loop
@@ -1966,11 +1973,9 @@ static int do_logger(struct logger* server)
                        break;
                }
 
-               for (int i = 0; i < nfds; i++) {
-                       struct fd_entity* entity = (struct fd_entity*) events[i].data.ptr;
-                       assert(entity->dispatch_event);
-                       entity->dispatch_event(server, &events[i]);
-               }
+               for (int i = 0; i < nfds; i++)
+                       dispatch_epoll_event(server, events + i);
+
                service_all_readers(server);
        }