]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengine_iocp.cpp
move opening of log before opening of config so that failure to open the config can...
[user/henk/code/inspircd.git] / src / socketengine_iocp.cpp
index f7448f85ff80af5924cb1f0a2688ea1ee8eb5ccc..96ff9eb31906b6f75603ae4e9e3afaf6563ef15f 100644 (file)
@@ -74,10 +74,6 @@ bool IOCPEngine::AddFd(EventHandler* eh)
        if (!CreateIoCompletionPort((HANDLE)eh->GetFd(), m_completionPort, completion_key, 0))
                return false;
 
-       /* set up binding, increase set size */
-       ref[*fake_fd] = eh;
-       ++CurrentSetSize;
-
        /* setup initial events */
        if(is_accept)
                PostAcceptEvent(eh);
@@ -102,6 +98,9 @@ bool IOCPEngine::AddFd(EventHandler* eh)
                return false;
        }
 
+       ++CurrentSetSize;
+       ref[*fake_fd] = eh;
+
        return true;
 }
 
@@ -464,11 +463,11 @@ int IOCPEngine::Accept(EventHandler* fd, sockaddr *addr, socklen_t *addrlen)
        return ov->socket;
 }
 
-int IOCPEngine::GetSockName(EventHandler* fd, sockaddr *name, socklen_t* name)
+int IOCPEngine::GetSockName(EventHandler* fd, sockaddr *name, socklen_t* namelen)
 {
        Overlapped* ovl = NULL;
        
-       if (!fd->GetExt("windows_acceptevent", acceptevent))
+       if (!fd->GetExt("windows_acceptevent", ovl))
                return -1;
 
        accept_overlap* ov = (accept_overlap*)ovl->m_params;
@@ -495,18 +494,18 @@ int IOCPEngine::RecvFrom(EventHandler* fd, void *buf, size_t len, int flags, str
 int IOCPEngine::Blocking(int fd)
 {
        unsigned long opt = 0;
-       ioctlsocket(s, FIONBIO, &opt);
+       return ioctlsocket(fd, FIONBIO, &opt);
 }
 
 int IOCPEngine::NonBlocking(int fd)
 {
        unsigned long opt = 1;
-       ioctlsocket(s, FIONBIO, &opt);
+       return ioctlsocket(fd, FIONBIO, &opt);
 }
 
 int IOCPEngine::Close(int fd)
 {
-       return closesocket(socket);
+       return closesocket(fd);
 }
 
 int IOCPEngine::Close(EventHandler* fd)