X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8a80a7488d5a9c1b57d287f939a310ee63c27583..272ccad1b68b6d9c17069f3c934886925bb15b5d:/src/xbt/mmalloc/mfree.c diff --git a/src/xbt/mmalloc/mfree.c b/src/xbt/mmalloc/mfree.c index c750d9ad3c..de6aa5c6ce 100644 --- a/src/xbt/mmalloc/mfree.c +++ b/src/xbt/mmalloc/mfree.c @@ -25,7 +25,7 @@ void mfree(struct mdesc *mdp, void *ptr) int it; if (ptr == NULL) - return; + return; block = BLOCK(ptr); @@ -47,9 +47,9 @@ void mfree(struct mdesc *mdp, void *ptr) /* Get as many statistics as early as we can. */ mdp -> heapstats.chunks_used--; mdp -> heapstats.bytes_used -= - mdp -> heapinfo[block].busy_block.size * BLOCKSIZE; + mdp -> heapinfo[block].busy_block.size * BLOCKSIZE; mdp -> heapstats.bytes_free += - mdp -> heapinfo[block].busy_block.size * BLOCKSIZE; + mdp -> heapinfo[block].busy_block.size * BLOCKSIZE; /* Find the free cluster previous to this one in the free list. Start searching at the last block referenced; this may benefit @@ -74,12 +74,12 @@ void mfree(struct mdesc *mdp, void *ptr) mdp->heapinfo[i].free_block.size += mdp->heapinfo[block].busy_block.size; /* Mark all my ex-blocks as free */ for (it=0; itheapinfo[block].busy_block.size; it++) { - if (mdp->heapinfo[block+it].type <0) { - fprintf(stderr,"Internal Error: Asked to free a block already marked as free (block=%lu it=%d type=%lu). Please report this bug.\n", - (unsigned long)block,it,(unsigned long)mdp->heapinfo[block].type); - abort(); - } - mdp->heapinfo[block+it].type = -1; + if (mdp->heapinfo[block+it].type <0) { + fprintf(stderr,"Internal Error: Asked to free a block already marked as free (block=%lu it=%d type=%lu). Please report this bug.\n", + (unsigned long)block,it,(unsigned long)mdp->heapinfo[block].type); + abort(); + } + mdp->heapinfo[block+it].type = -1; } block = i; @@ -94,12 +94,12 @@ void mfree(struct mdesc *mdp, void *ptr) mdp -> heapstats.chunks_free++; /* Mark all my ex-blocks as free */ for (it=0; itheapinfo[block].free_block.size; it++) { - if (mdp->heapinfo[block+it].type <0) { - fprintf(stderr,"Internal error: Asked to free a block already marked as free (block=%lu it=%d/%lu type=%lu). Please report this bug.\n", - (unsigned long)block,it,(unsigned long)mdp->heapinfo[block].free_block.size,(unsigned long)mdp->heapinfo[block].type); - abort(); - } - mdp->heapinfo[block+it].type = -1; + if (mdp->heapinfo[block+it].type <0) { + fprintf(stderr,"Internal error: Asked to free a block already marked as free (block=%lu it=%d/%lu type=%lu). Please report this bug.\n", + (unsigned long)block,it,(unsigned long)mdp->heapinfo[block].free_block.size,(unsigned long)mdp->heapinfo[block].type); + abort(); + } + mdp->heapinfo[block+it].type = -1; } }