Exemplo n.º 1
0
void CDirectoryWatcher::CloseWatchHandles()
{
	AutoLocker lock(m_critSec);

	for (TInfoMap::iterator I = watchInfoMap.begin(); I != watchInfoMap.end(); ++I)
		I->second->CloseDirectoryHandle();

	CloseCompletionPort();
}
Exemplo n.º 2
0
void CDirectoryWatcher::CloseWatchHandles()
{
	AutoLocker lock(m_critSec);

	for (auto I = watchInfoMap.cbegin(); I != watchInfoMap.cend(); ++I)
		if (I->second)
			I->second->CloseDirectoryHandle();

	CloseCompletionPort();
}
Exemplo n.º 3
0
void CIOCPServer::Shutdown()
{
	if (m_bInit == false)
		return;

	m_bInit = false;
	m_bTimeToKill = true;

	// Stop the listener
	Stop();

	closesocket(m_socketListen);	
	WSACloseEvent(m_hEvent);

	CloseCompletionPort();
	
	DeleteCriticalSection(&m_cs);

 	while (!m_listFreePool.IsEmpty())
 		delete m_listFreePool.RemoveTail();

}