/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Engine/Foundation/Platform/NoImpl/ProcessGroup_NoImpl.h
59 строк
1 KB
Jan Krassnigg
Move platform implementations to central folder (#1124)
17 дек 2023, 15:29
Не верифицирован
17 дек 2023, 15:29
9943d89
Код
Авторство
О чём код?
/// /// Implements ezProcessGroup by using ezProcess /// #include <Foundation/FoundationInternal.h> EZ_FOUNDATION_INTERNAL_HEADER #include <Foundation/System/ProcessGroup.h> #if EZ_ENABLED(EZ_SUPPORTS_PROCESSES) struct ezProcessGroupImpl { EZ_DECLARE_POD_TYPE(); }; ezProcessGroup::ezProcessGroup(ezStringView sGroupName) { } ezProcessGroup::~ezProcessGroup() { TerminateAll().IgnoreResult(); } ezResult ezProcessGroup::Launch(const ezProcessOptions& opt) { ezProcess& process = m_Processes.ExpandAndGetRef(); return process.Launch(opt); } ezResult ezProcessGroup::WaitToFinish(ezTime timeout /*= ezTime::MakeZero()*/) { for (auto& process : m_Processes) { if (process.GetState() != ezProcessState::Finished && process.WaitToFinish(timeout).Failed()) { return EZ_FAILURE; } } return EZ_SUCCESS; } ezResult ezProcessGroup::TerminateAll(ezInt32 iForcedExitCode /*= -2*/) { auto result = EZ_SUCCESS; for (auto& process : m_Processes) { if (process.GetState() == ezProcessState::Running && process.Terminate().Failed()) { result = EZ_FAILURE; } } return result; } #endif