X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/66168e45d86a88f36d29f5ee545a3c4cc97b887c..bfc956026c22595af39ca5c73b7e250e16d85aea:/src/mc/mc_checkpoint.c diff --git a/src/mc/mc_checkpoint.c b/src/mc/mc_checkpoint.c index 45708a72e5..244982166c 100644 --- a/src/mc/mc_checkpoint.c +++ b/src/mc/mc_checkpoint.c @@ -163,7 +163,7 @@ static void MC_snapshot_add_region(mc_snapshot_t snapshot, int type, { mc_mem_region_t ref_reg = mc_model_checker->parent_snapshot ? mc_model_checker->parent_snapshot->regions[type] : NULL; - mc_mem_region_t new_reg = MC_region_new(type, start_addr, start_addr, size, ref_reg); + mc_mem_region_t new_reg = MC_region_new(type, start_addr, permanent_addr, size, ref_reg); snapshot->regions[type] = new_reg; return; } @@ -193,9 +193,9 @@ static void MC_get_memory_regions(mc_snapshot_t snapshot) mc_mem_region_t ref_reg = mc_model_checker->parent_snapshot ? mc_model_checker->parent_snapshot->privatization_regions[i] : NULL; snapshot->privatization_regions[i] = - MC_region_new(-1, mc_binary_info->start_rw, mappings[i], size_data_exe, ref_reg); + MC_region_new(-1, mc_binary_info->start_rw, smpi_privatisation_regions[i].address, size_data_exe, ref_reg); } - snapshot->privatization_index = loaded_page; + snapshot->privatization_index = smpi_loaded_page; snapshot->regions[2] = NULL; } else #endif @@ -667,7 +667,9 @@ void MC_restore_snapshot(mc_snapshot_t snapshot) parent_snapshot ? parent_snapshot->privatization_regions[i] : NULL); } } - switch_data_segment(snapshot->privatization_index); + } + if(snapshot->privatization_index >= 0) { + smpi_switch_data_segment(snapshot->privatization_index); } #endif