From 202b3c34671d1e0825b32532564366d3129d1422 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 17 Jan 2019 01:27:03 +0100 Subject: [PATCH] fix MC on FreeBSD --- src/xbt/mmalloc/mm_module.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/xbt/mmalloc/mm_module.c b/src/xbt/mmalloc/mm_module.c index 98a704111e..9f960956a6 100644 --- a/src/xbt/mmalloc/mm_module.c +++ b/src/xbt/mmalloc/mm_module.c @@ -324,6 +324,10 @@ void *mmalloc_preinit(void) unsigned long mask = ~((unsigned long)xbt_pagesize - 1); void *addr = (void*)(((unsigned long)sbrk(0) + HEAP_OFFSET) & mask); __mmalloc_default_mdp = xbt_mheap_new_options(-1, addr, XBT_MHEAP_OPTION_MEMSET); + + // atfork mandated at least on FreeBSD, or simgrid-mc will fail to fork the verified app + int res = pthread_atfork(mmalloc_fork_prepare, mmalloc_fork_parent, mmalloc_fork_child); + xbt_assert(res == 0, "pthread_atfork() failed: return value %d", res); } xbt_assert(__mmalloc_default_mdp != NULL); -- 2.20.1