]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengine_epoll.cpp
Some AddMode fixes
[user/henk/code/inspircd.git] / src / socketengine_epoll.cpp
index 55d3cb1eacd4467497c40fdb39302ad7029e2f19..ec5362f8cfbd126778dae547bc630ec8cb518f3f 100644 (file)
@@ -49,10 +49,7 @@ bool EPollEngine::AddFd(EventHandler* eh)
                return false;
 
        if (ref[fd])
-       {
-               ServerInstance->Log(DEBUG,"Ref occupied!");
                return false;
-       }
 
        struct epoll_event ev;
        memset(&ev,0,sizeof(struct epoll_event));
@@ -89,9 +86,6 @@ bool EPollEngine::DelFd(EventHandler* eh, bool force)
        if ((fd < 0) || (fd > MAX_DESCRIPTORS))
                return false;
 
-       ref[fd] = NULL;
-       CurrentSetSize--;
-
        struct epoll_event ev;
        memset(&ev,0,sizeof(struct epoll_event));
        eh->Readable() ? ev.events = EPOLLIN : ev.events = EPOLLOUT;
@@ -104,6 +98,9 @@ bool EPollEngine::DelFd(EventHandler* eh, bool force)
                return false;
        }
 
+       ref[fd] = NULL;
+       CurrentSetSize--;
+
        ServerInstance->Log(DEBUG,"Remove file descriptor: %d", fd);
        return true;
 }