Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve the show stack function. (Now it prints the timeouts).
authorcristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 26 Jan 2011 13:53:40 +0000 (13:53 +0000)
committercristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 26 Jan 2011 13:53:40 +0000 (13:53 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9497 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/mc/mc_global.c
src/mc/mc_request.c

index 6c4c2b2..fec467e 100644 (file)
@@ -191,9 +191,14 @@ void MC_show_stack(xbt_fifo_t stack)
         : (NULL)); item = xbt_fifo_get_prev_item(item)) {
     req = MC_state_get_executed_request(state, &value);
     if(req){
-      req_str = MC_request_to_string(req); 
-      INFO1("%s", req_str);
-      xbt_free(req_str);
+      if(req->call == REQ_COMM_WAIT && value == -1)
+        INFO3("[(%lu)%s] Wait Timeout (comm=%p)",
+            req->issuer->pid, req->issuer->name, req->comm_wait.comm);
+      else{
+        req_str = MC_request_to_string(req);
+        INFO1("%s", req_str);
+        xbt_free(req_str);
+      }
     }
   }
 }
index 92827f9..c10b192 100644 (file)
@@ -94,7 +94,7 @@ char *MC_request_to_string(smx_req_t req)
     case REQ_COMM_WAIT:
       act = req->comm_wait.comm;
       type = bprintf("Wait");
-      args  = bprintf("%p [%s(%lu) -> %s(%lu)]", act,
+      args  = bprintf("comm=%p [%s(%lu) -> %s(%lu)]", act,
                       act->comm.src_proc ? act->comm.src_proc->name : "",
                       act->comm.src_proc ? act->comm.src_proc->pid : 0,
                       act->comm.dst_proc ? act->comm.dst_proc->name : "",
@@ -103,7 +103,7 @@ char *MC_request_to_string(smx_req_t req)
     case REQ_COMM_TEST:
       act = req->comm_test.comm;
       type = bprintf("Test");
-      args  = bprintf("%p [%s -> %s]", act, 
+      args  = bprintf("comm=%p [%s -> %s]", act,
                       act->comm.src_proc ? act->comm.src_proc->name : "",
                       act->comm.dst_proc ? act->comm.dst_proc->name : "");
       break;