主控端退出时被控端也退出

1、修复主控端CTalkDlg的内存泄漏问题,被控端即时消息对话框置于顶层。

2、SAFE_DELETE(ContextObject->olps)有崩溃概率。改为主控端退出时先令被控端退出,就没有内存泄漏。

3、开关音频时偶有内存泄漏,waveInCallBack线程不能正常退出。
This commit is contained in:
yuanyuanxiang
2019-01-15 21:48:37 +08:00
parent c6e9a06a1a
commit c54d75505e
24 changed files with 127 additions and 47 deletions

View File

@@ -8,13 +8,15 @@
#include "zconf.h"
#include "zlib.h"
#include <assert.h>
#include "Manager.h"
using namespace std;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
VOID IOCPClient::setManagerCallBack(class CManager* Manager)
VOID IOCPClient::setManagerCallBack(CManager* Manager)
{
m_Manager = Manager;
}
@@ -22,6 +24,7 @@ VOID IOCPClient::setManagerCallBack(class CManager* Manager)
IOCPClient::IOCPClient(bool exit_while_disconnect)
{
m_Manager = NULL;
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
@@ -154,6 +157,14 @@ DWORD WINAPI IOCPClient::WorkThreadProc(LPVOID lParam)
}else{
//<2F><>ȷ<EFBFBD><C8B7><EFBFBD>վ͵<D5BE><CDB5><EFBFBD>OnRead<61><64><EFBFBD><EFBFBD><><D7AA>OnRead
This->OnServerReceiving(szBuffer, iReceivedLength);
if (This->m_Manager->m_bIsDead)
{
printf("****** Recv bye bye ******\n");
// <20>˳<EFBFBD><CBB3>ͻ<EFBFBD><CDBB><EFBFBD>
extern bool g_bExit;
g_bExit = true;
break;
}
}
}
}