From ead183378793a2503a736ccfad25bbed1aa0182d Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Thu, 17 Jul 2014 16:30:45 +0200 Subject: [PATCH] [mmalloc] Force metadata update in mmalloc/mrealloc --- src/xbt/mmalloc/mmalloc.c | 3 ++- src/xbt/mmalloc/mrealloc.c | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xbt/mmalloc/mmalloc.c b/src/xbt/mmalloc/mmalloc.c index 84f4a5412d..4c3223877b 100644 --- a/src/xbt/mmalloc/mmalloc.c +++ b/src/xbt/mmalloc/mmalloc.c @@ -353,9 +353,10 @@ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size) mdp->heapinfo[block+it].type = MMALLOC_TYPE_UNFRAGMENTED; mdp->heapinfo[block+it].busy_block.busy_size = 0; mdp->heapinfo[block+it].busy_block.ignore = 0; + mdp->heapinfo[block+it].busy_block.size = 0; } mdp->heapinfo[block].busy_block.size = blocks; - mdp->heapinfo[block].busy_block.busy_size = requested_size; + mdp->heapinfo[block].busy_block.busy_size = requested_size; //mdp->heapinfo[block].busy_block.bt_size = xbt_backtrace_no_malloc(mdp->heapinfo[block].busy_block.bt,XBT_BACKTRACE_SIZE); //mdp->heapinfo[block].busy_block.bt_size = xbt_libunwind_backtrace(mdp->heapinfo[block].busy_block.bt,XBT_BACKTRACE_SIZE); diff --git a/src/xbt/mmalloc/mrealloc.c b/src/xbt/mmalloc/mrealloc.c index 67e7bc6599..d0739609e1 100644 --- a/src/xbt/mmalloc/mrealloc.c +++ b/src/xbt/mmalloc/mrealloc.c @@ -91,6 +91,8 @@ void *mrealloc(xbt_mheap_t mdp, void *ptr, size_t size) for (it= block+blocks; it< mdp->heapinfo[block].busy_block.size ; it++){ mdp->heapinfo[it].type = MMALLOC_TYPE_UNFRAGMENTED; // FIXME that should be useless, type should already be 0 here mdp->heapinfo[it].busy_block.ignore = 0; + mdp->heapinfo[it].busy_block.size = 0; + mdp->heapinfo[it].busy_block.busy_size = 0; } mdp->heapinfo[block + blocks].busy_block.size -- 2.20.1