This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi, Here is a small change for malloc that should help save address space when allocating beyond the sbrk() limit. Regards, Wolfram. 2001-02-14 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c (new_heap): When allocating large chunk aligned to HEAP_MAX_SIZE, prefer one with lower address, to avoid `holes' between the heaps. Index: libc/malloc/malloc.c =================================================================== RCS file: /cvs/glibc/libc/malloc/malloc.c,v retrieving revision 1.78 diff -u -r1.78 malloc.c --- malloc.c 2001/01/21 21:29:17 1.78 +++ malloc.c 2001/02/14 22:55:44 @@ -2026,7 +2026,7 @@ anyway). */ p1 = (char *)MMAP(0, HEAP_MAX_SIZE<<1, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE); if(p1 != MAP_FAILED) { - p2 = (char *)(((unsigned long)p1 + HEAP_MAX_SIZE) & ~(HEAP_MAX_SIZE-1)); + p2 = (char *)(((unsigned long)p1 + (HEAP_MAX_SIZE-1)) & ~(HEAP_MAX_SIZE-1)); ul = p2 - p1; munmap(p1, ul); munmap(p2 + HEAP_MAX_SIZE, HEAP_MAX_SIZE - ul);
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |