src/server/daemon/event_linux.c

changeset 443
ef3c8a0e1fee
parent 193
aa8393527b1e
child 474
eb7640c59e9b
--- a/src/server/daemon/event_linux.c	Sun Nov 27 10:20:10 2022 +0100
+++ b/src/server/daemon/event_linux.c	Sun Nov 27 13:33:30 2022 +0100
@@ -46,19 +46,20 @@
     ev->current = 0;
     ev->instances = calloc(cfg->nthreads, sizeof(void*));
     ev->numins = cfg->nthreads;
-    
+       
     for(int i=0;i<cfg->nthreads;i++) {
         EventHandler *handler = malloc(sizeof(EventHandler));
         ev->instances[i] = handler;
         
         handler->ep = epoll_create(64);
-        if(handler->ep == 0) {
-            // TODO: error
+        if(handler->ep < 0) {
+            log_ereport(LOG_FAILURE, "evhandler_create: epoll_create: %s", strerror(errno));
             return NULL;
         }
         
         int eventpipe[2];
         if(pipe(eventpipe)) {
+            log_ereport(LOG_FAILURE, "evhandler_create: pipe: %s", strerror(errno));
             return NULL;
         }
         handler->eventin = eventpipe[0];
@@ -68,6 +69,7 @@
         epev.events = EPOLLIN | EPOLLET; // input event, edge triggered
         epev.data.ptr = NULL;
         if(epoll_ctl(handler->ep, EPOLL_CTL_ADD, handler->eventin, &epev)) {
+            log_ereport("evhandler_create: epoll_ctl: %s", strerror(errno));
             return NULL;
         }
         
@@ -77,7 +79,7 @@
                 (thrstartfunc)ev_handle_events,
                 handler);
         systhread_detach(t);
-    }
+    }   
     
     return ev;
 }

mercurial