int MSG_task_Iprobe(m_channel_t channel)
{
m_host_t h = NULL;
- simdata_host_t h_simdata = NULL;
xbt_assert1((channel>=0) && (channel < msg_global->max_channel),"Invalid channel %d",channel);
DEBUG2("Probing on channel %d (%s)", channel,h->name);
CHECK_HOST();
h = MSG_host_self();
- h_simdata = h->simdata;
- return(xbt_fifo_get_first_item(h_simdata->mbox[channel])!=NULL);
+ return(xbt_fifo_get_first_item(h->simdata->mbox[channel])!=NULL);
}
/** \ingroup msg_gos_functions
int MSG_task_probe_from(m_channel_t channel)
{
m_host_t h = NULL;
- simdata_host_t h_simdata = NULL;
xbt_fifo_item_t item;
m_task_t t;
xbt_assert1((channel>=0) && (channel < msg_global->max_channel),"Invalid channel %d",channel);
CHECK_HOST();
h = MSG_host_self();
- h_simdata = h->simdata;
DEBUG2("Probing on channel %d (%s)", channel,h->name);
*/
int MSG_task_probe_from_host(int channel, m_host_t host)
{
- simdata_host_t h_simdata = NULL;
xbt_fifo_item_t item;
m_task_t t;
int count = 0;
xbt_assert1((channel>=0) && (channel < msg_global->max_channel),"Invalid channel %d",channel);
CHECK_HOST();
h = MSG_host_self();
- h_simdata = h->simdata;
DEBUG2("Probing on channel %d (%s)", channel,h->name);
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);
simdata = task->simdata;
xbt_assert0((!simdata->compute)&&(task->simdata->using==1),
"This taks is executed somewhere else. Go fix your code!");
- task->simdata->using++;
+ simdata->using++;
simdata->compute = surf_workstation_resource->extension_public->
execute(MSG_process_get_host(process)->simdata->host,
simdata->computation_amount);
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)
m_process_t process = MSG_process_self();
m_task_t dummy = NULL;
simdata_task_t simdata = NULL;
+
+ xbt_assert1(nb_sec>=0,"Invalid duration %g",nb_sec);
CHECK_HOST();
dummy = MSG_task_create("MSG_sleep", nb_sec, 0.0, NULL);