From 1d3ab2a60e0a0ad1410b47c14897e9ebd3fcb994 Mon Sep 17 00:00:00 2001 From: Rozhuk Ivan Date: Fri, 17 Jun 2016 07:59:10 +0000 Subject: MRA: fix connection issue git-svn-id: http://svn.miranda-ng.org/main/trunk@16998 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/MRA/src/Mra_proto.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'protocols/MRA/src/Mra_proto.cpp') diff --git a/protocols/MRA/src/Mra_proto.cpp b/protocols/MRA/src/Mra_proto.cpp index 587fdf57da..7ece81f274 100644 --- a/protocols/MRA/src/Mra_proto.cpp +++ b/protocols/MRA/src/Mra_proto.cpp @@ -209,7 +209,7 @@ DWORD CMraProto::MraNetworkDispatcher() mrim_packet_header_t *pmaHeader; NETLIBSELECT nls = { sizeof(nls) }; - nls.dwTimeout = 1000; + nls.dwTimeout = 30000; nls.hReadConns[0] = m_hConnection; lpbBufferRcv = (LPBYTE)mir_calloc(dwRcvBuffSize); @@ -217,7 +217,6 @@ DWORD CMraProto::MraNetworkDispatcher() m_dwNextPingSendTickTime = m_dwPingPeriod = MAXDWORD; dwCMDNum = 0; MraSendCMD(MRIM_CS_HELLO, NULL, 0); - m_dwThreadWorkerLastPingTime = GetTickCount(); while (m_iStatus != ID_STATUS_OFFLINE && bContinue) { DWORD dwSelectRet = CallService(MS_NETLIB_SELECT, 0, (LPARAM)&nls); if (SOCKET_ERROR == dwSelectRet) { @@ -235,7 +234,8 @@ DWORD CMraProto::MraNetworkDispatcher() m_dwNextPingSendTickTime = (m_dwThreadWorkerLastPingTime + nls.dwTimeout); MraSendCMD(MRIM_CS_PING, NULL, 0); } else { - nls.dwTimeout = (m_dwNextPingSendTickTime - m_dwThreadWorkerLastPingTime); + if (MAXDWORD != m_dwNextPingSendTickTime) + nls.dwTimeout = (m_dwNextPingSendTickTime - m_dwThreadWorkerLastPingTime); } { /* Remove old items from send queue. */ DWORD dwCmdNum, dwFlags, dwAckType; -- cgit v1.2.3