Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / mc / mc_checkpoint.cpp
index baf90a2..38b4e44 100644 (file)
@@ -66,7 +66,7 @@ static void restore(mc_mem_region_t region)
     break;
 
   case simgrid::mc::StorageType::Flat:
-    mc_model_checker->process().write_bytes(region->flat_data(),
+    mc_model_checker->process().write_bytes(region->flat_data().get(),
       region->size(), region->permanent_address());
     break;
 
@@ -554,14 +554,13 @@ mc_snapshot_t take_snapshot(int num_state)
 
   snapshot->num_state = num_state;
 
-  smx_process_t process;
-  MC_EACH_SIMIX_PROCESS(process,
-    snapshot->enabled_processes.insert(process->pid));
+  for (auto& p : mc_model_checker->process().simix_processes())
+    snapshot->enabled_processes.insert(p.copy.pid);
 
   snapshot_handle_ignore(snapshot);
 
   if (_sg_mc_snapshot_fds)
-    snapshot->current_fds = get_current_fds(process->pid);
+    snapshot->current_fds = get_current_fds(mc_model_checker->process().pid());
 
   const bool use_soft_dirty = _sg_mc_sparse_checkpoint && _sg_mc_soft_dirty;