git: libc - Fix livelock in nmalloc

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Oct 9 09:31:11 PDT 2010


commit 4cd64cfec8d5e4d67ed8ee045e6d875a398a7892
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Oct 9 09:26:46 2010 -0700

    libc - Fix livelock in nmalloc
    
    * free() -> _slabfree() was turning around and calling _slaballoc()
      with the depot lock held, which could lead to a livelock.  Fix by
      unlocking the depot lock around the call.
    
    * Clean up and document other unrelated bits of nmalloc(). In particular,
      clean up magazine_alloc().
    
    Reported-by: Siju George <sgeorge.ml at gmail.com>, and others

Summary of changes:
 lib/libc/stdlib/nmalloc.c |  129 +++++++++++++++++++++++----------------------
 1 files changed, 65 insertions(+), 64 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4cd64cfec8d5e4d67ed8ee045e6d875a398a7892


-- 
DragonFly BSD source repository





More information about the Commits mailing list