diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-06-20 22:48:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-06-20 22:48:53 +0000 |
commit | e6ac0e78f1fd258b74ae9175ef17460968b7f0f5 (patch) | |
tree | cace486df81750d04b402724b6094874caeb2e3d /malloc | |
parent | f74ff957c54e3689194f5caecb6ed292ab648479 (diff) | |
download | glibc-e6ac0e78f1fd258b74ae9175ef17460968b7f0f5.zip glibc-e6ac0e78f1fd258b74ae9175ef17460968b7f0f5.tar.gz glibc-e6ac0e78f1fd258b74ae9175ef17460968b7f0f5.tar.bz2 |
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.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index d588941..cee3f32 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); |