X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7e9b6e88f6c2daa87a9f5370596e5acc7f73fc6a..c3a62fa6cb46d329c17e48d2d0b73de787ae94e0:/src/xbt/mmalloc/mmalloc.c diff --git a/src/xbt/mmalloc/mmalloc.c b/src/xbt/mmalloc/mmalloc.c index 5f13f656f0..f3f4b844f9 100644 --- a/src/xbt/mmalloc/mmalloc.c +++ b/src/xbt/mmalloc/mmalloc.c @@ -184,6 +184,7 @@ void *mmalloc(xbt_mheap_t mdp, size_t size) block = BLOCK(result); for (i = 1; i < (size_t) (BLOCKSIZE >> log); ++i) { mdp->heapinfo[block].busy_frag.frag_size[i] = 0; + mdp->heapinfo[block].busy_frag.equal_to[i] = -1; next = (struct list *) ((char *) result + (i << log)); next->next = mdp->fraghead[log].next; next->prev = &mdp->fraghead[log]; @@ -240,8 +241,9 @@ void *mmalloc(xbt_mheap_t mdp, size_t size) memset(result, 0, requested_size); block = BLOCK(result); - for (it=0;itheapinfo[block+it].type = 0; + } mdp->heapinfo[block].busy_block.size = blocks; 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); @@ -276,8 +278,9 @@ void *mmalloc(xbt_mheap_t mdp, size_t size) = mdp->heapindex = mdp->heapinfo[block].free_block.next; } - for (it=0;itheapinfo[block+it].type = 0; + } mdp->heapinfo[block].busy_block.size = blocks; mdp->heapinfo[block].busy_block.busy_size = requested_size; //mdp->heapinfo[block].busy_block.bt_size = 0; @@ -286,6 +289,8 @@ void *mmalloc(xbt_mheap_t mdp, size_t size) mdp -> heapstats.chunks_used++; mdp -> heapstats.bytes_used += blocks * BLOCKSIZE; mdp -> heapstats.bytes_free -= blocks * BLOCKSIZE; + + memset(result, 0, requested_size); } //printf("(%s) Done mallocing. Result is %p\n",xbt_thread_self_name(),result);fflush(stdout); return (result);