X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/974fb38ffe5712b82211fe2fab3a9bb32a4ac7a4..72680ab46a46b8f1ae2dbfb56581968206f4e3b1:/src/mc/mc_checkpoint.c diff --git a/src/mc/mc_checkpoint.c b/src/mc/mc_checkpoint.c index 3e96454766..eb4cfd348e 100644 --- a/src/mc/mc_checkpoint.c +++ b/src/mc/mc_checkpoint.c @@ -54,7 +54,8 @@ static void local_variable_free_voidp(void *v){ static void MC_region_destroy(mc_mem_region_t reg) { - munmap(reg->data, reg->size); + //munmap(reg->data, reg->size); + xbt_free(reg->data); xbt_free(reg); } @@ -87,11 +88,12 @@ static mc_mem_region_t MC_region_new(int type, void *start_addr, size_t size) mc_mem_region_t new_reg = xbt_new(s_mc_mem_region_t, 1); new_reg->start_addr = start_addr; new_reg->size = size; - new_reg->data = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); - if(new_reg->data==MAP_FAILED) - xbt_die("Could not mmap new memory for snapshot."); + //new_reg->data = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + //if(new_reg->data==MAP_FAILED) + //xbt_die("Could not mmap new memory for snapshot."); + new_reg->data = xbt_malloc(size); memcpy(new_reg->data, start_addr, size); - madvise(new_reg->data, size, MADV_MERGEABLE); + //madvise(new_reg->data, size, MADV_MERGEABLE); XBT_DEBUG("New region : type : %d, data : %p (real addr %p), size : %zu", type, new_reg->data, start_addr, size); @@ -499,11 +501,11 @@ mc_snapshot_t MC_take_snapshot(int num_state){ MC_dump_checkpoint_ignore(snapshot); // mprotect the region after zero-ing ignored parts: - size_t i; + /*size_t i; for(i=0; i!=NB_REGIONS; ++i) { mc_mem_region_t region = snapshot->regions[i]; mprotect(region->data, region->size, PROT_READ); - } + }*/ return snapshot;