m_process_t process = MSG_process_self();
m_task_t t = NULL;
m_host_t h = NULL;
+ m_task_t task_to_wait_for;
simdata_task_t t_simdata = NULL;
simdata_host_t h_simdata = NULL;
int first_time = 1;
while(MSG_process_is_suspended(t_simdata->sender)) {
DEBUG1("Oooups, the sender (%s) has been suspended in the meantime. Let's wait for him",
t_simdata->sender->name);
- m_task_t task_to_wait_for = t_simdata->sender->simdata->waiting_task;
+ task_to_wait_for = t_simdata->sender->simdata->waiting_task;
if(__MSG_process_isBlocked(t_simdata->sender)) {
DEBUG0("He's blocked. Let's wait for him to go in the suspended state");
__MSG_process_unblock(t_simdata->sender);
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);
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);