[IOMultiplexer] do not request events from closed descriptors
[ChatPrototype.git] / src / IOEngine_kevent.c
index 1ebb801886d1c1a243fed0a3c9b5d3225185b4e3..21c81efcf421bb5fe2bace8b519b055813ba8964 100644 (file)
@@ -59,6 +59,10 @@ static void engine_kevent_remove(struct IODescriptor *iofd) {
 
 static void engine_kevent_update(struct IODescriptor *iofd) {
     if(iofd->type == IOTYPE_TIMER) return;
+    if(iofd->state == IO_CLOSED) {
+        engine_epoll_remove(iofd);
+        return;
+    }
     struct kevent changes[2];
     int nchanges = 0;
     int res;