Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
We need cmake 2.8 to compile simgrid
[simgrid.git] / src / mc / mc_dpor.c
index 7b481c9..26b46e0 100644 (file)
@@ -32,7 +32,7 @@ void MC_dpor_init()
   MC_SET_RAW_MEM;
   /* Get an enabled process and insert it in the interleave set of the initial state */
   xbt_swag_foreach(process, simix_global->process_list){
-    if(SIMIX_process_is_enabled(process)){
+    if(MC_process_is_enabled(process)){
       MC_state_interleave_process(initial_state, process);
       break;
     }
@@ -53,7 +53,7 @@ void MC_dpor(void)
 {
   char *req_str;
   int value;
-  smx_req_t req = NULL;
+  smx_req_t req = NULL, prev_req = NULL;
   mc_state_t state = NULL, prev_state = NULL, next_state = NULL;
   smx_process_t process = NULL;
   xbt_fifo_item_t item = NULL;
@@ -79,13 +79,8 @@ void MC_dpor(void)
 
       /* Debug information */
       if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
-        req_str = MC_request_to_string(req);
-        if(req->call == REQ_COMM_WAITANY)
-          DEBUG3("Execute: %s (%u of %lu)", req_str, value, xbt_dynar_length(req->comm_waitany.comms));
-        else if(req->call == REQ_COMM_TESTANY)
-          DEBUG3("Execute: %s (%u of %lu)", req_str, value, xbt_dynar_length(req->comm_testany.comms));
-        else
-          DEBUG1("Execute: %s", req_str);
+        req_str = MC_request_to_string(req, value);
+        DEBUG1("Execute: %s", req_str);
         xbt_free(req_str);
       }
 
@@ -105,7 +100,7 @@ void MC_dpor(void)
 
       /* Get an enabled process and insert it in the interleave set of the next state */
       xbt_swag_foreach(process, simix_global->process_list){
-        if(SIMIX_process_is_enabled(process)){
+        if(MC_process_is_enabled(process)){
           MC_state_interleave_process(next_state, process);
           break;
         }
@@ -147,10 +142,12 @@ void MC_dpor(void)
           if(MC_request_depend(req, MC_state_get_internal_request(prev_state))){
             if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
               DEBUG0("Dependent Transitions:");
-              req_str = MC_request_to_string(MC_state_get_executed_request(prev_state, &value));
+              prev_req = MC_state_get_executed_request(prev_state, &value);
+              req_str = MC_request_to_string(prev_req, value);
               DEBUG2("%s (state=%p)", req_str, prev_state);
               xbt_free(req_str);
-              req_str = MC_request_to_string(MC_state_get_executed_request(state, &value));
+              prev_req = MC_state_get_executed_request(state, &value);
+              req_str = MC_request_to_string(prev_req, value);
               DEBUG2("%s (state=%p)", req_str, state);
               xbt_free(req_str);              
             }