]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengine_epoll.cpp
This fixes a deletion error here, we were using new[] and not using delete[], but...
[user/henk/code/inspircd.git] / src / socketengine_epoll.cpp
index 03a3f8f7c12ca2fd164f5455d1d2858f4bcfc43b..97efec1277b508b53aaae9464316e7fad19efdca 100644 (file)
@@ -33,7 +33,7 @@ EPollEngine::EPollEngine(InspIRCd* Instance) : SocketEngine(Instance)
 
 EPollEngine::~EPollEngine()
 {
-       close(EngineHandle);
+       this->Close(EngineHandle);
 }
 
 bool EPollEngine::AddFd(EventHandler* eh)
@@ -48,7 +48,6 @@ bool EPollEngine::AddFd(EventHandler* eh)
        if (ref[fd])
                return false;
 
-       ref[fd] = eh;
        struct epoll_event ev;
        memset(&ev,0,sizeof(struct epoll_event));
        eh->Readable() ? ev.events = EPOLLIN : ev.events = EPOLLOUT;
@@ -60,6 +59,8 @@ bool EPollEngine::AddFd(EventHandler* eh)
        }
 
        ServerInstance->Log(DEBUG,"New file descriptor: %d", fd);
+
+       ref[fd] = eh;
        CurrentSetSize++;
        return true;
 }