MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ restart_task()

bool MayaFlux::Vruta::TaskScheduler::restart_task ( const std::string &  name)

Restart a named task.

Parameters
nameTask name to restart
Returns
True if found and restarted

Definition at line 226 of file Scheduler.cpp.

227{
228 SubmissionGuard guard(m_inflight_submissions, m_terminating);
229 if (!guard.accepted)
230 return false;
231
232 auto cit = std::ranges::find_if(m_conditional_tasks,
233 [&name](const TaskEntry& e) { return e.name == name; });
234 if (cit != m_conditional_tasks.end()) {
235 if (cit->routine && cit->routine->is_active())
236 cit->routine->restart();
237 return true;
238 }
239
240 auto it = find_task_by_name(name);
241 if (it != m_tasks.end()) {
242 if (it->routine && it->routine->is_active()) {
243 it->routine->restart();
244 }
245 }
246 return false;
247}
std::string name
Definition VKDevice.cpp:123
std::atomic< bool > m_terminating
std::vector< TaskEntry > m_tasks
std::vector< TaskEntry >::iterator find_task_by_name(const std::string &name)
Find task entry by name.
std::vector< TaskEntry > m_conditional_tasks
std::atomic< uint32_t > m_inflight_submissions

References find_task_by_name(), m_conditional_tasks, m_inflight_submissions, m_tasks, m_terminating, name, and MayaFlux::Vruta::TaskEntry::name.

+ Here is the call graph for this function: