parents = xbt_dynar_new(sizeof(SD_task_t), NULL);
xbt_dynar_foreach(task->tasks_before, i, dep) {
parents = xbt_dynar_new(sizeof(SD_task_t), NULL);
xbt_dynar_foreach(task->tasks_before, i, dep) {
children = xbt_dynar_new(sizeof(SD_task_t), NULL);
xbt_dynar_foreach(task->tasks_after, i, dep) {
children = xbt_dynar_new(sizeof(SD_task_t), NULL);
xbt_dynar_foreach(task->tasks_after, i, dep) {
- SD_CHECK_INIT_DONE();
- xbt_assert(task != NULL, "Invalid parameter");
- //xbt_assert(task->state_set != sd_global->scheduled_task_set,
- // "Unscheduled task %s", task->name);
- SD_CHECK_INIT_DONE();
- xbt_assert(task != NULL, "Invalid parameter");
- //xbt_assert(task->state_set != sd_global->scheduled_task_set,
- // "Unscheduled task %s", task->name);
/* remove the dependency from src->tasks_after */
dynar = src->tasks_after;
length = xbt_dynar_length(dynar);
/* remove the dependency from src->tasks_after */
dynar = src->tasks_after;
length = xbt_dynar_length(dynar);
xbt_assert(state != SD_NOT_SCHEDULED,
"SimDag error: Cannot have a watch point for state SD_NOT_SCHEDULED");
xbt_assert(state != SD_NOT_SCHEDULED,
"SimDag error: Cannot have a watch point for state SD_NOT_SCHEDULED");
if (!__SD_task_is_not_scheduled(task) && !__SD_task_is_schedulable(task))
THROWF(arg_error, 0, "Task '%s' has already been scheduled",
SD_task_get_name(task));
if (!__SD_task_is_not_scheduled(task) && !__SD_task_is_schedulable(task))
THROWF(arg_error, 0, "Task '%s' has already been scheduled",
SD_task_get_name(task));
if (task->state_set != sd_global->scheduled_task_set &&
task->state_set != sd_global->runnable_task_set &&
task->state_set != sd_global->running_task_set &&
if (task->state_set != sd_global->scheduled_task_set &&
task->state_set != sd_global->runnable_task_set &&
task->state_set != sd_global->running_task_set &&
xbt_assert(__SD_task_is_runnable_or_in_fifo(task),
"Task '%s' is not runnable or in a fifo! Task state: %d",
SD_task_get_name(task), SD_task_get_state(task));
xbt_assert(__SD_task_is_runnable_or_in_fifo(task),
"Task '%s' is not runnable or in a fifo! Task state: %d",
SD_task_get_name(task), SD_task_get_state(task));
xbt_assert(__SD_task_is_runnable(task),
"Task '%s' is not runnable! Task state: %d",
SD_task_get_name(task), SD_task_get_state(task));
xbt_assert(__SD_task_is_runnable(task),
"Task '%s' is not runnable! Task state: %d",
SD_task_get_name(task), SD_task_get_state(task));
xbt_assert(__SD_task_is_running(task),
"The task must be running! Task state: %d",
SD_task_get_state(task));
xbt_assert(__SD_task_is_running(task),
"The task must be running! Task state: %d",
SD_task_get_state(task));
if (task->surf_action) /* should never happen as actions are destroyed right after their completion */
return surf_workstation_model->
action_get_finish_time(task->surf_action);
if (task->surf_action) /* should never happen as actions are destroyed right after their completion */
return surf_workstation_model->
action_get_finish_time(task->surf_action);