Loading src/event/iocp.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -515,6 +515,8 @@ namespace netplus { INFINITE ); std::cout << "test2" << std::endl; lpIOContext = (poll::PPER_IO_CONTEXT)lpOverlapped; switch (lpIOContext->IOOperation) { Loading Loading @@ -717,7 +719,7 @@ namespace netplus { void event::runEventloop(void* args) { NetException exception; HANDLE iocp = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE,nullptr,0, threads); HANDLE iocp = ::CreateIoCompletionPort((HANDLE)_ServerSocket->fd(),nullptr,0, threads); if (!iocp) { NetException exp; Loading @@ -725,8 +727,6 @@ namespace netplus { throw exp; } ::CreateIoCompletionPort((HANDLE)_ServerSocket->fd(), iocp, (u_long)0, 0); LPFN_ACCEPTEX lpfnAcceptEx = NULL; GUID GuidAcceptEx = WSAID_ACCEPTEX; WSAOVERLAPPED olOverlap; Loading Loading @@ -769,7 +769,13 @@ namespace netplus { } } WSAResetEvent(evpoll.g_hCleanupEvent[0]); if (!evpoll.CreateAcceptSocket(true)) { NetException exp; exp[NetException::Critical] << "event: CreateAcceptSocket couldn't create socket !"; throw exp; } WSAWaitForMultipleEvents(1, evpoll.g_hCleanupEvent, TRUE, WSA_INFINITE, FALSE); for (auto i = threadpool.begin(); i != threadpool.end(); ++i) { i->join(); Loading src/windows/tcp.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -80,8 +80,8 @@ netplus::tcp::tcp(const char* addr, int port,int maxconnections,int sockopts) : _SocketPtr=nullptr; for (rp = result; rp != nullptr; rp = rp->ai_next) { _Socket = ::socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); _Socket = ::WSASocket(rp->ai_family, rp->ai_socktype, rp->ai_protocol,nullptr, 0, WSA_FLAG_OVERLAPPED); if (_Socket == -1) continue; _SocketPtr = ::malloc(rp->ai_addrlen); Loading Loading
src/event/iocp.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -515,6 +515,8 @@ namespace netplus { INFINITE ); std::cout << "test2" << std::endl; lpIOContext = (poll::PPER_IO_CONTEXT)lpOverlapped; switch (lpIOContext->IOOperation) { Loading Loading @@ -717,7 +719,7 @@ namespace netplus { void event::runEventloop(void* args) { NetException exception; HANDLE iocp = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE,nullptr,0, threads); HANDLE iocp = ::CreateIoCompletionPort((HANDLE)_ServerSocket->fd(),nullptr,0, threads); if (!iocp) { NetException exp; Loading @@ -725,8 +727,6 @@ namespace netplus { throw exp; } ::CreateIoCompletionPort((HANDLE)_ServerSocket->fd(), iocp, (u_long)0, 0); LPFN_ACCEPTEX lpfnAcceptEx = NULL; GUID GuidAcceptEx = WSAID_ACCEPTEX; WSAOVERLAPPED olOverlap; Loading Loading @@ -769,7 +769,13 @@ namespace netplus { } } WSAResetEvent(evpoll.g_hCleanupEvent[0]); if (!evpoll.CreateAcceptSocket(true)) { NetException exp; exp[NetException::Critical] << "event: CreateAcceptSocket couldn't create socket !"; throw exp; } WSAWaitForMultipleEvents(1, evpoll.g_hCleanupEvent, TRUE, WSA_INFINITE, FALSE); for (auto i = threadpool.begin(); i != threadpool.end(); ++i) { i->join(); Loading
src/windows/tcp.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -80,8 +80,8 @@ netplus::tcp::tcp(const char* addr, int port,int maxconnections,int sockopts) : _SocketPtr=nullptr; for (rp = result; rp != nullptr; rp = rp->ai_next) { _Socket = ::socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); _Socket = ::WSASocket(rp->ai_family, rp->ai_socktype, rp->ai_protocol,nullptr, 0, WSA_FLAG_OVERLAPPED); if (_Socket == -1) continue; _SocketPtr = ::malloc(rp->ai_addrlen); Loading