From 0cb71e0261a96ee93428aeb43478b493a9359e9d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 8 Sep 2003 16:33:12 +0000 Subject: Update. 2003-09-08 Wolfram Gloger * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into contiguous case. Bug report from Prem Gopalan . (mALLOPt): Avoid requirement of C99. --- malloc/malloc.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'malloc') diff --git a/malloc/malloc.c b/malloc/malloc.c index 8cc9e454dc..6b89083880 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2969,9 +2969,6 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av; */ else { - /* Count foreign sbrk as system_mem. */ - if (old_size) - av->system_mem += brk - old_end; front_misalign = 0; end_misalign = 0; correction = 0; @@ -2980,6 +2977,10 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av; /* handle contiguous cases */ if (contiguous(av)) { + /* Count foreign sbrk as system_mem. */ + if (old_size) + av->system_mem += brk - old_end; + /* Guarantee alignment of first new chunk made from this space */ front_misalign = (INTERNAL_SIZE_T)chunk2mem(brk) & MALLOC_ALIGN_MASK; @@ -5164,11 +5165,11 @@ int mALLOPt(int param_number, int value) int mALLOPt(param_number, value) int param_number; int value; #endif { - if(__malloc_initialized < 0) - ptmalloc_init (); mstate av = &main_arena; int res = 1; + if(__malloc_initialized < 0) + ptmalloc_init (); (void)mutex_lock(&av->mutex); /* Ensure initialization/consolidation */ malloc_consolidate(av); -- cgit 1.4.1