From: suter Date: Sun, 24 Jun 2012 16:50:22 +0000 (+0200) Subject: SD_unschedule was never tested and actually buggy for typed parallel X-Git-Tag: v3_8~475 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0ac32fda622108316725dc9e16603746a4c1c265?ds=sidebyside SD_unschedule was never tested and actually buggy for typed parallel tasks. --- diff --git a/src/simdag/sd_task.c b/src/simdag/sd_task.c index 0b7e382a76..2147c63e61 100644 --- a/src/simdag/sd_task.c +++ b/src/simdag/sd_task.c @@ -965,8 +965,12 @@ void SD_task_unschedule(SD_task_t task) SD_task_get_name(task)); if (__SD_task_is_scheduled_or_runnable(task) /* if the task is scheduled or runnable */ - &&task->kind == SD_TASK_NOT_TYPED) /* Don't free scheduling data for typed tasks */ + && ((task->kind == SD_TASK_COMP_PAR_AMDAHL) || + (task->kind == SD_TASK_COMM_PAR_MXN_1D_BLOCK))) { /* Don't free scheduling data for typed tasks */ __SD_task_destroy_scheduling_data(task); + task->workstation_list=NULL; + task->workstation_nb = 0; + } if (__SD_task_is_running(task)) /* the task should become SD_FAILED */ surf_workstation_model->action_cancel(task->surf_action);