diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-01-14 22:37:55 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-01-14 22:37:55 +0000 |
commit | a5414fd15ca7b0629ce77950585d4002ff2ef09a (patch) | |
tree | 1f311a4646a6085b67e82b8217f2fdfa2e04f5d1 /libc/stdlib/malloc-simple | |
parent | 1b44e1b2bbddb7d05a78cb3874b6a2baf8faf59a (diff) |
Include missing errno.h header (as noted by Alan Hourihane).
Fix uninitialized pthread mutex used to lock the list of aligned
memory blocks.
Diffstat (limited to 'libc/stdlib/malloc-simple')
-rw-r--r-- | libc/stdlib/malloc-simple/alloc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c index fcac02927..4c6edd1f9 100644 --- a/libc/stdlib/malloc-simple/alloc.c +++ b/libc/stdlib/malloc-simple/alloc.c @@ -6,12 +6,14 @@ * Parts of the memalign code were stolen from malloc-930716. */ +#define _GNU_SOURCE #include <features.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <errno.h> #include <sys/mman.h> @@ -121,9 +123,9 @@ void free(void *ptr) #ifdef L_memalign #ifdef __UCLIBC_HAS_THREADS__ #include <pthread.h> -extern pthread_mutex_t __malloclock; -# define LOCK __pthread_mutex_lock(&__malloclock) -# define UNLOCK __pthread_mutex_unlock(&__malloclock); +pthread_mutex_t __malloc_lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; +# define LOCK __pthread_mutex_lock(&__malloc_lock) +# define UNLOCK __pthread_mutex_unlock(&__malloc_lock); #else # define LOCK # define UNLOCK |