sd_global->not_scheduled_task_set =
xbt_swag_new(xbt_swag_offset(task, state_hookup));
- sd_global->scheduled_task_set =
+ sd_global->ready_task_set =
xbt_swag_new(xbt_swag_offset(task, state_hookup));
+ sd_global->scheduled_task_set =
+ xbt_swag_new(xbt_swag_offset(task, state_hookup));
sd_global->runnable_task_set =
xbt_swag_new(xbt_swag_offset(task, state_hookup));
sd_global->in_fifo_task_set =
if (SD_INITIALISED()) {
DEBUG0("Recreating the swags...");
xbt_swag_free(sd_global->not_scheduled_task_set);
+ xbt_swag_free(sd_global->ready_task_set);
xbt_swag_free(sd_global->scheduled_task_set);
xbt_swag_free(sd_global->runnable_task_set);
xbt_swag_free(sd_global->in_fifo_task_set);
sd_global->not_scheduled_task_set =
xbt_swag_new(xbt_swag_offset(task, state_hookup));
+ sd_global->ready_task_set =
+ xbt_swag_new(xbt_swag_offset(task, state_hookup));
sd_global->scheduled_task_set =
xbt_swag_new(xbt_swag_offset(task, state_hookup));
sd_global->runnable_task_set =
if (dst->unsatisfied_dependencies>0)
dst->unsatisfied_dependencies--;
- if (!(dst->unsatisfied_dependencies) && __SD_task_is_scheduled(dst))
- __SD_task_set_state(dst, SD_RUNNABLE);
+ if (!(dst->unsatisfied_dependencies)){
+ if (__SD_task_is_scheduled(dst))
+ __SD_task_set_state(dst, SD_RUNNABLE);
+ else
+ __SD_task_set_state(dst, SD_READY);
+ }
/* is dst runnable now? */
if (__SD_task_is_runnable(dst) && !sd_global->watch_point_reached) {
DEBUG0("Destroying the swags...");
xbt_swag_free(sd_global->not_scheduled_task_set);
+ xbt_swag_free(sd_global->ready_task_set);
xbt_swag_free(sd_global->scheduled_task_set);
xbt_swag_free(sd_global->runnable_task_set);
xbt_swag_free(sd_global->in_fifo_task_set);