- if (p_simdata->waiting_action) {
- DEBUG1("Canceling waiting task %s",
- SIMIX_action_get_name(p_simdata->waiting_action));
- SIMIX_action_cancel(p_simdata->waiting_action);
+ if (p_simdata->waiting_task) {
+ DEBUG1("Canceling waiting task %s", p_simdata->waiting_task->name);
+ if (p_simdata->waiting_task->simdata->compute) {
+ SIMIX_action_cancel(p_simdata->waiting_task->simdata->compute);
+ } else if (p_simdata->waiting_task->simdata->comm) {
+ SIMIX_communication_cancel(p_simdata->waiting_task->simdata->comm);
+ }