Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
the matrix may have 0 columns...
[simgrid.git] / src / msg / gos.c
index 892b523..3827b4c 100644 (file)
@@ -428,7 +428,7 @@ MSG_error_t MSG_task_put_with_timeout(m_task_t task, m_host_t dest,
   task_simdata->sender = process;
   task_simdata->source = MSG_process_get_host(process);
   xbt_assert0(task_simdata->using==1,
-             "This taks is still being used somewhere else. You cannot send it now. Go fix your code!");
+             "This task is still being used somewhere else. You cannot send it now. Go fix your code!");
   task_simdata->comm = NULL;
   
   local_host = ((simdata_process_t) process->simdata)->host;
@@ -452,6 +452,8 @@ MSG_error_t MSG_task_put_with_timeout(m_task_t task, m_host_t dest,
   while(!(task_simdata->comm)) {
     if(max_duration>0) {
       if(!first_time) {
+       xbt_fifo_remove(((simdata_host_t) remote_host->simdata)->mbox[channel],
+                       task);
        PAJE_PROCESS_POP_STATE(process);
        PAJE_COMM_STOP(process,task,channel);
        MSG_RETURN(MSG_TRANSFER_FAILURE);
@@ -593,8 +595,8 @@ void __MSG_task_execute(m_process_t process, m_task_t task)
 
   simdata = task->simdata;
   xbt_assert0((!simdata->compute)&&(task->simdata->using==1),
-             "This taks is executed somewhere else. Go fix your code!");
-  task->simdata->using++;
+             "This task is executed somewhere else. Go fix your code!");
+  simdata->using++;
   simdata->compute = surf_workstation_resource->extension_public->
     execute(MSG_process_get_host(process)->simdata->host,
            simdata->computation_amount);
@@ -602,7 +604,7 @@ void __MSG_task_execute(m_process_t process, m_task_t task)
     set_priority(simdata->compute, simdata->priority);
 
   surf_workstation_resource->common_public->action_set_data(simdata->compute,task);
-  task->simdata->using--;
+  simdata->using--;
 }
 
 MSG_error_t __MSG_wait_for_computation(m_process_t process, m_task_t task)