summaryrefslogtreecommitdiffstats
path: root/libc/stdlib/malloc/free.c
Commit message (Collapse)AuthorAgeFilesLines
* malloc: fix race condition and other bugs in the no-mmu mallocFreeman Wang2009-12-191-3/+3
| | | | | | | | | | | | | | Fixes multiple race conditions on mmb list. This was done by making the mmb_heap_lock into a recursive lock and making the regular heap_lock extend to cover the mmb heap handling. Also move the new_mmb allocation up to before the mmb list is iterated through to find the insertion point. When the mmb_heap also runs out and needs to be extended when the regular heap is just extended, the mmb list could be messed up. Signed-off-by: Freeman Wang <xwang@ubicom.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer2009-09-181-2/+0
| | | | | | | | sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* - revert 24148:24151Bernhard Reutner-Fischer2008-11-261-1/+1
|
* - remove some bloat that was added in r23660 and subsequent r23698.Bernhard Reutner-Fischer2008-11-251-1/+1
| | | | The sbrk lock is only needed for LT.old
* Last portion of libc_hidden_proto removal.Denis Vlasenko2008-11-201-1/+1
| | | | | Appears to build fine (several .configs tried)
* next portion of libc_hidden_proto removalDenis Vlasenko2008-11-201-1/+1
|
* Finally fix the MALLOC=y and MALLOC_SIMPLE=y breakage from svn 23660. (I ↵Rob Landley2008-10-281-22/+19
| | | | found it, this is Bernhard's patch to fix it. Tested and it Works For Me (tm)).
* This should fix malloc with debug and without threads. (Chase N Douglas)Bernhard Reutner-Fischer2008-10-161-8/+21
| | | | This should have been in r23660. Untested.
* Fix bug 4994 hangs on read(). I have tested the patch extensibly on ARM/LT.old.Khem Raj2008-10-111-11/+11
| | | | | Thank you Chase Douglas for reporting it and for the patch.
* fix up malloc debug buildingMike Frysinger2007-04-131-1/+1
|
* hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger2006-01-141-4/+3
| | | | missing headers, other jump relocs removed
* __malloc_consolidate is only libc internal, enable use of __sbrkPeter S. Mazinger2005-12-131-0/+1
|
* More hiding, 300 leftPeter S. Mazinger2005-12-041-0/+2
|
* (free_to_heap): Unlock the heap before returning in theMiles Bader2003-04-021-2/+5
| | | | __UCLIBC_UCLINUX_BROKEN_MUNMAP__ case. Fix from YYang1@Winbond.com.tw.
* Improve malloc debugging support.Miles Bader2002-11-211-8/+17
|
* Fix locking to not deadlock when __UCLIBC_UCLINUX_BROKEN_MUNMAP__ is defined.Miles Bader2002-10-151-5/+10
|
* * Add support for uClinux's broken munmap, contingent onMiles Bader2002-10-091-10/+110
| | | | | | | | | __UCLIBC_UCLINUX_BROKEN_MUNMAP__ (which is currently not defined anywhere). This makes other cases a tiny bit less efficient too. * Move the malloc lock into the heap structure (locking is still done at the malloc level though, not by the heap functions). * Initialize the malloc heap to contain a tiny initial static free-area so that programs that only do a very little allocation won't ever call mmap.
* (free):Miles Bader2002-09-041-5/+5
| | | | | Update debug statement. Update to use __heap_delete and __heap_is_empty.
* Use `likely' & `unlikely' instead of the `__malloc_'-prefixed versions.Miles Bader2002-08-301-1/+1
|
* Use __malloc_unlikely instead of `likely'.Miles Bader2002-08-141-1/+4
|
* Use `return' for null pointers, to avoid a giant block holding the restMiles Bader2002-08-131-95/+95
| | | | of the function.
* Update debugging printfs.Miles Bader2002-07-311-2/+2
|
* Use new malloc header macros.Miles Bader2002-07-301-2/+2
|
* Size tweaks.Miles Bader2002-07-251-5/+6
|
* Miscellaneous tidying-up.Miles Bader2002-07-251-12/+9
|
* Redo the locking, so that it may actually work. Now locking is done atMiles Bader2002-07-251-90/+103
| | | | | | | | | the malloc/free level, not within the heap abstraction, and there's a separate lock to control sbrk access. Also, get rid of the separate `unmap_free_area' function in free.c, and just put the code in the `free' function directly, which saves a bunch of space (even compared to using an inline function) for some reason.
* Misc small cleanups.Miles Bader2002-07-241-1/+2
|
* * Automatically try to unmap heap free-areas when they get very big.Miles Bader2002-07-231-9/+104
| | | | | | | | * Instead of using mmap/munmap directly for large allocations, just use the heap for everything (this is reasonable now that heap memory can be unmapped). * Use sbrk instead of mmap/munmap on systems with an MMU.
* Doc fix.Miles Bader2002-07-191-1/+1
|
* Miles Bader implemented a new mmap based malloc which is muchEric Andersen2002-07-181-0/+35
smarter than the old "malloc-simple", and actually works, unlike the old "malloc". So kill the old "malloc-simple" and the old "malloc" and replace them with Miles' new malloc implementation. Update Config files to match. Thanks Miles!