From 02bac39966af06c5ca6abe3ae9692e2a50a17f66 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Mon, 11 May 2015 16:03:05 +0000 Subject: minus CreateThread git-svn-id: http://svn.miranda-ng.org/main/trunk@13546 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/EmLanProto/src/lan.cpp | 53 ++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 29 deletions(-) (limited to 'protocols/EmLanProto/src/lan.cpp') diff --git a/protocols/EmLanProto/src/lan.cpp b/protocols/EmLanProto/src/lan.cpp index ee24fc59fc..1828e782b5 100644 --- a/protocols/EmLanProto/src/lan.cpp +++ b/protocols/EmLanProto/src/lan.cpp @@ -22,18 +22,18 @@ CLan::~CLan() void CLan::Startup() { WSADATA wsa; - if (WSAStartup(MAKEWORD(2,2), &wsa)==0) + if (WSAStartup(MAKEWORD(2, 2), &wsa) == 0) { m_status = LS_OK; m_mode = LM_ON; char hostname[256]; - if (gethostname(hostname, 256)==0) + if (gethostname(hostname, 256) == 0) { hostent* host = gethostbyname(hostname); char** pAddr = host->h_addr_list; m_hostAddrCount = 0; - while (*pAddr && m_hostAddrCountListen(); - return 0; } void CLan::Listen() { - if (m_mode==LM_LISTEN) + if (m_mode == LM_LISTEN) { char buf[65536]; - while(1) + while (1) { sockaddr_in addr; int addrLen = sizeof(addr); Sleep(20); int recLen = recvfrom(m_income, buf, 65536, 0, (sockaddr*)&addr, &addrLen); - if (recLen!=SOCKET_ERROR) + if (recLen != SOCKET_ERROR) OnRecvPacket((u_char*)buf, recLen, addr.sin_addr); } } @@ -203,7 +201,7 @@ void CLan::SendPacketBroadcast(const u_char* mes, int len) void CLan::SendPacket(in_addr addr, const u_char* mes, int len) { - if (m_mode==LM_LISTEN) + if (m_mode == LM_LISTEN) { sockaddr_in addrTo; addrTo.sin_addr = addr; @@ -215,11 +213,10 @@ void CLan::SendPacket(in_addr addr, const u_char* mes, int len) ////////////////////////////////////////////////////////////////////////// -DWORD WINAPI CLan::AcceptTCPProc(LPVOID lpParameter) +void __cdecl CLan::AcceptTCPProc(void *lpParameter) { CLan* lan = (CLan*)lpParameter; lan->AcceptTCP(); - return 0; } void CLan::AcceptTCP() @@ -254,14 +251,14 @@ void __cdecl CLan::OnInTCPConnectionProc(void *lpParameter) SOCKET CLan::CreateTCPConnection(u_long addr, LPVOID lpParameter) { SOCKET out_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (out_socket==INVALID_SOCKET) + if (out_socket == INVALID_SOCKET) return INVALID_SOCKET; sockaddr_in addrTo; addrTo.sin_addr.S_un.S_addr = addr; addrTo.sin_family = AF_INET; addrTo.sin_port = PORT_NUMBER; - if (connect(out_socket, (sockaddr*)&addrTo, sizeof(addrTo))!=0) + if (connect(out_socket, (sockaddr*)&addrTo, sizeof(addrTo)) != 0) { closesocket(out_socket); out_socket = INVALID_SOCKET; @@ -274,18 +271,16 @@ SOCKET CLan::CreateTCPConnection(u_long addr, LPVOID lpParameter) tcp_conn->m_addr = addr; tcp_conn->m_lpParameter = lpParameter; - DWORD threadId; - CreateThread(NULL, 0, OnOutTCPConnectionProc, (LPVOID)tcp_conn, 0, &threadId); + mir_forkthread(OnOutTCPConnectionProc, (void*)tcp_conn); return out_socket; } -DWORD WINAPI CLan::OnOutTCPConnectionProc(LPVOID lpParameter) +void __cdecl CLan::OnOutTCPConnectionProc(void *lpParameter) { TTCPConnect* tcp_conn = (TTCPConnect*)lpParameter; tcp_conn->m_lan->OnOutTCPConnection(tcp_conn->m_addr, tcp_conn->m_socket, tcp_conn->m_lpParameter); shutdown(tcp_conn->m_socket, SD_BOTH); closesocket(tcp_conn->m_socket); delete tcp_conn; - return 0; } -- cgit v1.2.3