]> jfr.im git - irc/quakenet/newserv.git/blobdiff - core/events-epoll.c
invalidbans: Fix crash when server sets ban.
[irc/quakenet/newserv.git] / core / events-epoll.c
index 4db945d260d9844dc191776b1aa51990c55eecde..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>
@@ -52,6 +52,11 @@ void inithandlers() {
   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);