A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix lua platform script
[simgrid.git]
/
src
/
mc
/
mc_global.c
diff --git
a/src/mc/mc_global.c
b/src/mc/mc_global.c
index
394d2a9
..
6cd26b8
100644
(file)
--- a/
src/mc/mc_global.c
+++ b/
src/mc/mc_global.c
@@
-180,7
+180,7
@@
void MC_init(){
get_binary_plt_section();
MC_ignore_data_bss(&end_raw_heap, sizeof(end_raw_heap));
get_binary_plt_section();
MC_ignore_data_bss(&end_raw_heap, sizeof(end_raw_heap));
-
+
/* Get global variables */
MC_get_global_variables(xbt_binary_name);
MC_get_global_variables(libsimgrid_path);
/* Get global variables */
MC_get_global_variables(xbt_binary_name);
MC_get_global_variables(libsimgrid_path);
@@
-197,6
+197,9
@@
void MC_init(){
MC_ignore_stack("_throw_ctx", "*");
MC_ignore_stack("ctx", "*");
MC_ignore_stack("_throw_ctx", "*");
MC_ignore_stack("ctx", "*");
+ MC_ignore_stack("next_context", "smx_ctx_sysv_suspend_serial");
+ MC_ignore_stack("i", "smx_ctx_sysv_suspend_serial");
+
if(raw_mem_set)
MC_SET_RAW_MEM;
if(raw_mem_set)
MC_SET_RAW_MEM;
@@
-286,6
+289,7
@@
void MC_exit(void)
{
xbt_free(mc_time);
MC_memory_exit();
{
xbt_free(mc_time);
MC_memory_exit();
+ xbt_abort();
}
}
@@
-748,8
+752,10
@@
void MC_ignore_heap(void *address, size_t size){
if(((xbt_mheap_t)std_heap)->heapinfo[region->block].type == 0){
region->fragment = -1;
if(((xbt_mheap_t)std_heap)->heapinfo[region->block].type == 0){
region->fragment = -1;
+ ((xbt_mheap_t)std_heap)->heapinfo[region->block].busy_block.ignore = 1;
}else{
region->fragment = ((uintptr_t) (ADDR2UINT (address) % (BLOCKSIZE))) >> ((xbt_mheap_t)std_heap)->heapinfo[region->block].type;
}else{
region->fragment = ((uintptr_t) (ADDR2UINT (address) % (BLOCKSIZE))) >> ((xbt_mheap_t)std_heap)->heapinfo[region->block].type;
+ ((xbt_mheap_t)std_heap)->heapinfo[region->block].busy_frag.ignore[region->fragment] = 1;
}
}
}
}