diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-08 16:33:12 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-08 16:33:12 +0000 |
commit | 0cb71e0261a96ee93428aeb43478b493a9359e9d (patch) | |
tree | d4995a4c8c68ab1c81c38efea108c881d4fb0118 /malloc/malloc.c | |
parent | 65b0b4192aa2fffa77c8ee8aeb3993eaf4b969ee (diff) | |
download | glibc-0cb71e0261a96ee93428aeb43478b493a9359e9d.tar.gz glibc-0cb71e0261a96ee93428aeb43478b493a9359e9d.tar.xz glibc-0cb71e0261a96ee93428aeb43478b493a9359e9d.zip |
Update.
2003-09-08 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into contiguous case. Bug report from Prem Gopalan <prem@mazunetworks.com>. (mALLOPt): Avoid requirement of C99.
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r-- | malloc/malloc.c | 11 |
1 files changed, 6 insertions, 5 deletions
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); |