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
1272d4d
..
cd4ef27
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);