void ProcessManager::AbortAllProcesses(bool immediate)
{
	ProcessList::iterator it = m_processList.begin();

	while (it != m_processList.end())
	{
		ProcessList::iterator tempIt = it;
		it++;

		Process* pProcess = *tempIt;
		if (pProcess->IsAlive())
		{
			pProcess->SetState(Process::ABORTED);
			if (immediate)
			{
				pProcess->VOnAbort();
				m_processList.erase(tempIt);
			}
		}
	}
}