]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengine_select.cpp
This fixes a deletion error here, we were using new[] and not using delete[], but...
[user/henk/code/inspircd.git] / src / socketengine_select.cpp
index ef5f2071f82aa2853f9cab99e4435daf36a23db0..3cebe7210afaff69ca10044d777bc9fd9aeeec0b 100644 (file)
@@ -36,13 +36,11 @@ bool SelectEngine::AddFd(EventHandler* eh)
        if (GetRemainingFds() <= 1)
                return false;
 
-       fds[fd] = fd;
-
        if (ref[fd])
                return false;
 
+       fds[fd] = fd;
        ref[fd] = eh;
-
        CurrentSetSize++;
 
        ServerInstance->Log(DEBUG,"New file descriptor: %d", fd);
@@ -144,10 +142,9 @@ int SelectEngine::DispatchEvents()
                        {
                                if (writeable[ev[i]->GetFd()])
                                {
+                                       writeable[ev[i]->GetFd()] = false;
                                        if (ev[i])
                                                ev[i]->HandleEvent(EVENT_WRITE);
-                                       writeable[ev[i]->GetFd()] = false;
-
                                }
                                else
                                {