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);
return false;
}
+ ++CurrentSetSize;
+ ref[*fake_fd] = eh;
+
return true;
}
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;
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)