]> jfr.im git - irc/quakenet/newserv.git/blobdiff - core/events-epoll.c
CHANSERV: tell user when they can't attempts to auth any more, and drop max attempts...
[irc/quakenet/newserv.git] / core / events-epoll.c
index 3dfb537bc646eb31195db5a3e04dae535610353e..b9455c340184f67664d462d7ff714c575b2c2dd4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * events.c: the event handling core, poll() version
+ * events.c: the event handling core, epoll() version
  */
 
 #include <stdio.h>
@@ -46,12 +46,17 @@ void inithandlers() {
 
   /* Get an epoll FD */
   if ((epollfd=epoll_create(STARTFDS))<0) {
-    Error("events",ERR_FATAL,"Unable to initialise epoll.");
+    Error("events",ERR_STOP,"Unable to initialise epoll.");
   }
 
   registerhook(HOOK_CORE_STATSREQUEST, &eventstats);
 }
 
+void finihandlers() {
+  deregisterhook(HOOK_CORE_STATSREQUEST, &eventstats);
+  free(eventhandlers);
+}
+
 /*
  * checkindex():
  *  Given the number of a new file descriptor, makes sure that the array
@@ -117,6 +122,7 @@ int registerhandler(int fd, short events, FDHandler handler) {
    
   eventhandlers[fd].handler=handler;
 
+  memset(&epe, 0, sizeof(epe));
   epe.data.fd=fd;
   epe.events=polltoepoll(events);