- 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 (std::set<SD_task_t>::iterator succ = task->successors->begin(); succ != task->successors->end(); ++succ){
+ (*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());