diff -r 05c2b62448b1 -r ef3c8a0e1fee src/server/daemon/event_linux.c --- 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;inthreads;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; }