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
document that we really need xbt_os_thread_atfork (for tesh+mmalloc)
[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
06f6266
..
cd4ef27
100644
(file)
--- a/
src/xbt/mmalloc/mm_module.c
+++ b/
src/xbt/mmalloc/mm_module.c
@@
-321,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, //FIXME: KILLME when things settle a bit
+ // 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);