Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : ignore simcall result in heap comparison
[simgrid.git] / src / simix / smx_process.c
index 1a050b2..fecde40 100644 (file)
@@ -248,6 +248,10 @@ void SIMIX_process_create(smx_process_t *process,
     (*process)->data = data;
     (*process)->comms = xbt_fifo_new();
     (*process)->simcall.issuer = *process;
+
+    if(MC_is_active())
+      MC_ignore_heap(&((*process)->simcall.result), sizeof((*process)->simcall.result));
+    
     /* Process data for auto-restart */
     (*process)->auto_restart = auto_restart;
     (*process)->code = code;
@@ -634,7 +638,7 @@ void SIMIX_pre_process_sleep(smx_simcall_t simcall, double duration)
 {
   if (MC_is_active()) {
     MC_process_clock_add(simcall->issuer, duration);
-    simcall->process_sleep.result = SIMIX_DONE;
+    simcall_process_sleep__set__result(simcall, SIMIX_DONE);
     SIMIX_simcall_answer(simcall);
     return;
   }
@@ -697,7 +701,7 @@ void SIMIX_post_process_sleep(smx_action_t action)
         workstation.get_state(simcall->issuer->smx_host->host) != SURF_RESOURCE_ON) {
       simcall->issuer->context->iwannadie = 1;
     }
-    simcall->process_sleep.result = state;
+    simcall_process_sleep__set__result(simcall, state);
     simcall->issuer->waiting_action = NULL;
     SIMIX_simcall_answer(simcall);