* \brief Creates and runs a new #m_process_t.
*
* Does exactly the same as #MSG_process_create_with_arguments but without
* \brief Creates and runs a new #m_process_t.
*
* Does exactly the same as #MSG_process_create_with_arguments but without
* \sa MSG_process_create_with_arguments
*/
m_process_t MSG_process_create(const char *name,
* \sa MSG_process_create_with_arguments
*/
m_process_t MSG_process_create(const char *name,
xbt_fifo_remove(msg_global->process_list, arg);
xbt_fifo_remove(msg_global->process_to_run, arg);
xbt_fifo_remove(((m_process_t) arg)->simdata->host->simdata->process_list, arg);
xbt_fifo_remove(msg_global->process_list, arg);
xbt_fifo_remove(msg_global->process_to_run, arg);
xbt_fifo_remove(((m_process_t) arg)->simdata->host->simdata->process_list, arg);
/* fprintf(stderr,"Killing %s(%d) on %s.\n",process->name, */
/* p_simdata->PID,p_simdata->host->name); */
/* fprintf(stderr,"Killing %s(%d) on %s.\n",process->name, */
/* p_simdata->PID,p_simdata->host->name); */
if(p_simdata->waiting_task->simdata->compute)
surf_workstation_resource->common_public->
action_free(p_simdata->waiting_task->simdata->compute);
if(p_simdata->waiting_task->simdata->compute)
surf_workstation_resource->common_public->
action_free(p_simdata->waiting_task->simdata->compute);
surf_workstation_resource->common_public->
action_change_state(p_simdata->waiting_task->simdata->comm,SURF_ACTION_FAILED);
surf_workstation_resource->common_public->
action_change_state(p_simdata->waiting_task->simdata->comm,SURF_ACTION_FAILED);
- else
- fprintf(stderr,"UNKNOWN STATUS. Please report this bug.\n");
+ surf_workstation_resource->common_public->
+ action_free(p_simdata->waiting_task->simdata->comm);
+ } else
+ CRITICAL0("UNKNOWN STATUS. Please report this bug.");
xbt_fifo_remove(msg_global->process_list,process);
xbt_context_free(process->simdata->context);
}
xbt_fifo_remove(msg_global->process_list,process);
xbt_context_free(process->simdata->context);
}
process->simdata->blocked=1;
__MSG_task_execute(process,dummy);
surf_workstation_resource->common_public->suspend(dummy->simdata->compute);
process->simdata->blocked=1;
__MSG_task_execute(process,dummy);
surf_workstation_resource->common_public->suspend(dummy->simdata->compute);
__MSG_wait_for_computation(process,dummy);
process->simdata->blocked=0;
__MSG_wait_for_computation(process,dummy);
process->simdata->blocked=0;