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
Use xbt_malloc (and friends) instead of direct malloc()
[simgrid.git]
/
src
/
xbt
/
mmalloc
/
mm_module.c
diff --git
a/src/xbt/mmalloc/mm_module.c
b/src/xbt/mmalloc/mm_module.c
index
1272d4d
..
de1942a
100644
(file)
--- a/
src/xbt/mmalloc/mm_module.c
+++ b/
src/xbt/mmalloc/mm_module.c
@@
-312,8
+312,6
@@
static void mmalloc_fork_child(void)
}
}
}
}
-
-
/* Initialize the default malloc descriptor. */
void *mmalloc_preinit(void)
{
/* Initialize the default malloc descriptor. */
void *mmalloc_preinit(void)
{
@@
-323,7
+321,9
@@
void *mmalloc_preinit(void)
void *addr = (void*)(((unsigned long)sbrk(0) + HEAP_OFFSET) & mask);
__mmalloc_default_mdp = xbt_mheap_new(-1, addr);
/* Fixme? only the default mdp in protected against forks */
void *addr = (void*)(((unsigned long)sbrk(0) + HEAP_OFFSET) & mask);
__mmalloc_default_mdp = xbt_mheap_new(-1, addr);
/* Fixme? only the default mdp in protected against forks */
- res = xbt_os_thread_atfork(mmalloc_fork_prepare,
+ // This is mandated to protect the mmalloced areas through forks. Think of tesh.
+ // Nah, removing the mutex isn't a good idea either for tesh
+ res = xbt_os_thread_atfork(mmalloc_fork_prepare,
mmalloc_fork_parent, mmalloc_fork_child);
if (res != 0)
THROWF(system_error,0,"xbt_os_thread_atfork() failed: return value %d",res);
mmalloc_fork_parent, mmalloc_fork_child);
if (res != 0)
THROWF(system_error,0,"xbt_os_thread_atfork() failed: return value %d",res);
@@
-339,3
+339,7
@@
void mmalloc_postexit(void)
// mmalloc_detach(__mmalloc_default_mdp);
xbt_mheap_destroy_no_free(__mmalloc_default_mdp);
}
// mmalloc_detach(__mmalloc_default_mdp);
xbt_mheap_destroy_no_free(__mmalloc_default_mdp);
}
+
+size_t mmalloc_get_chunks_used(xbt_mheap_t heap){
+ return ((struct mdesc *)heap)->heapstats.chunks_used;
+}