- for (std::set<SD_task_t>::iterator it=task->successors->begin(); it!=task->successors->end(); ++it){
- dst=*it;
- dst->predecessors->erase(task);
- dst->inputs->erase(task);
- XBT_DEBUG("Released a dependency on %s: %zu remain(s). Became schedulable if %zu=0",
- SD_task_get_name(dst), dst->predecessors->size()+dst->inputs->size(), dst->predecessors->size());
- if (dst->predecessors->empty() && dst->inputs->empty()) {
- if (SD_task_get_state(dst) == SD_SCHEDULED)
- SD_task_set_state(dst, SD_RUNNABLE);
- else
- SD_task_set_state(dst, SD_SCHEDULABLE);
- }
+ for (auto succ : *task->successors) {
+ succ->predecessors->erase(task);
+ succ->inputs->erase(task);
+ XBT_DEBUG("Release dependency on %s: %zu remain(s). Becomes schedulable if %zu=0", SD_task_get_name(succ),
+ succ->predecessors->size()+succ->inputs->size(), succ->predecessors->size());