void TaskGroup::abort() { WriteLocker locker(m_stateLock); if (m_state == State_Running) { m_state = State_Stopping; for (NPT_Ordinal i = 0; i < m_threadList.GetItemCount(); i++) { TaskThread *thread = *m_threadList.GetItem(i); thread->abort(); } } }