diff options
author | Freeman Wang <xwang@ubicom.com> | 2009-12-19 13:43:00 -0800 |
---|---|---|
committer | Austin Foxley <austinf@cetoncorp.com> | 2009-12-19 13:53:32 -0800 |
commit | 23528282b771d1af3df0fa17f1e909ad3b663f59 (patch) | |
tree | b51c4b640cf7f22708e027739e322dc573a3d430 /libc/stdlib/malloc/heap_free.c | |
parent | 7dcd83e8bded560b6a2c658889995390d3021a92 (diff) |
malloc: fix race condition and other bugs in the no-mmu malloc
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>
Diffstat (limited to 'libc/stdlib/malloc/heap_free.c')
0 files changed, 0 insertions, 0 deletions