channel);
h_simdata->sleeping[channel] = process; /* I'm waiting. Wake me up when you're ready */
if(max_duration>0) {
- __MSG_process_block(max_duration);
+ __MSG_process_block(max_duration,"");
} else {
- __MSG_process_block(-1);
+ __MSG_process_block(-1,"");
}
h_simdata->sleeping[channel] = NULL;
first_time = 0;
h_simdata->sleeping[channel]->simdata->PID);
h_simdata->sleeping[channel] = process; /* I'm waiting. Wake me up when you're ready */
if(max_duration>0) {
- __MSG_process_block(max_duration);
+ __MSG_process_block(max_duration,"");
} else {
- __MSG_process_block(-1);
+ __MSG_process_block(-1,"");
}
if(surf_workstation_resource->extension_public->get_state(h_simdata->host)
== SURF_CPU_OFF) {
process->simdata->put_channel = channel;
while(!(task_simdata->comm)) {
DEBUG0("Communication not initiated yet. Let's block!");
- __MSG_process_block(-1);
+ __MSG_process_block(-1,task->name);
if(surf_workstation_resource->extension_public->
get_state(local_host->simdata->host) == SURF_CPU_OFF) {
xbt_fifo_remove(((simdata_host_t) remote_host->simdata)->mbox[channel],
return (process->simdata->suspended);
}
-static char blocked_name[512];
-
-int __MSG_process_block(double max_duration)
+int __MSG_process_block(double max_duration, const char *info)
{
m_process_t process = MSG_process_self();
-
m_task_t dummy = MSG_TASK_UNINITIALIZED;
- snprintf(blocked_name,512,"blocked (%s:%s)",process->name,
- process->simdata->host->name);
+ char blocked_name[512];
+ snprintf(blocked_name,512,"blocked [%s] (%s:%s)",process->name,
+ info, process->simdata->host->name);
XBT_IN1(": max_duration=%g",max_duration);
MSG_error_t __MSG_wait_for_computation(m_process_t process, m_task_t task);
MSG_error_t __MSG_task_wait_event(m_process_t process, m_task_t task);
-int __MSG_process_block(double max_duration);
+int __MSG_process_block(double max_duration, const char *info);
MSG_error_t __MSG_process_unblock(m_process_t process);
int __MSG_process_isBlocked(m_process_t process);