summaryrefslogtreecommitdiff
path: root/malloc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-06-20 22:48:53 +0000
committerUlrich Drepper <drepper@redhat.com>2002-06-20 22:48:53 +0000
commite6ac0e78f1fd258b74ae9175ef17460968b7f0f5 (patch)
treecace486df81750d04b402724b6094874caeb2e3d /malloc
parentf74ff957c54e3689194f5caecb6ed292ab648479 (diff)
Update.
2002-06-18 Jakub Jelinek <jakub@redhat.com> * include/unistd.h (__fork_internal): Remove. (__fork): Don't define to __fork_internal. * sysdeps/mach/hurd/fork.c (__fork): Remove INTDEF. * sysdeps/unix/sysv/aix/fork.c (__fork): Likewise. * sysdeps/unix/sysv/linux/ia64/fork.S (__fork_internal): Remove alias. * sysdeps/unix/sysv/linux/sparc/fork.S (__fork_internal): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (__fork_internal): Likewise. 2002-06-20 Ulrich Drepper <drepper@redhat.com> * po/hr.po: New file. 2002-06-11 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c: Fix error path when new_heap() returns NULL. Reported by Michael Meissner <meissner@redhat.com>. 2002-06-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/getcontext.S: Fix typo. Patch by Hans Boehm <hans_boehm@hp.com>.
Diffstat (limited to 'malloc')
-rw-r--r--malloc/malloc.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c
index d588941159..cee3f322a0 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -2761,20 +2761,17 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
#endif
set_head(old_top, (((char *)old_heap + old_heap->size) - (char *)old_top)
| PREV_INUSE);
- } else {
- /* A new heap must be created. */
- heap = new_heap(nb + (MINSIZE + sizeof(*heap)), mp_.top_pad);
- if(heap) {
- heap->ar_ptr = av;
- heap->prev = old_heap;
- av->system_mem += heap->size;
- arena_mem += heap->size;
+ }
+ else if ((heap = new_heap(nb + (MINSIZE + sizeof(*heap)), mp_.top_pad))) {
+ /* Use a newly allocated heap. */
+ heap->ar_ptr = av;
+ heap->prev = old_heap;
+ av->system_mem += heap->size;
+ arena_mem += heap->size;
#if 0
- if((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem)
- max_total_mem = mmapped_mem + arena_mem + sbrked_mem;
+ if((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem)
+ max_total_mem = mmapped_mem + arena_mem + sbrked_mem;
#endif
- }
-
/* Set up the new top. */
top(av) = chunk_at_offset(heap, sizeof(*heap));
set_head(top(av), (heap->size - sizeof(*heap)) | PREV_INUSE);