- int _cursor;
- m_process_t proc = NULL;
-
- xbt_assert0(((task != NULL)
- && (task->simdata != NULL)), "Invalid parameters");
-
- xbt_dynar_push(task->simdata->sleeping, &process);
- process->simdata->waiting_task = task;
- xbt_context_yield();
- process->simdata->waiting_task = NULL;
- xbt_dynar_foreach(task->simdata->sleeping,_cursor,proc) {
- if(proc==process)
- xbt_dynar_remove_at(task->simdata->sleeping,_cursor,&proc);
+ xbt_assert0((task != NULL)
+ && (task->simdata != NULL), "Invalid parameter");
+
+ if(!task->simdata->comm){
+ DEBUG1("you are trying to retrive remaining information on a NULL action, assuming it is zero",
+ 0);
+ return 0;
+ }else{
+ DEBUG1("calling SIMIX_communication_get_remains(%p)",
+ task->simdata->comm);