about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-02-19 17:07:45 +0100
committerFlorian Weimer <fweimer@redhat.com>2016-02-19 17:07:45 +0100
commit59eda029a8a35e5f4e5cd7be0f84c6629e48ec6e (patch)
tree63b915b9258bf371bae30d56f54c5a1eed4b3e61
parentca135f824b1dbaf43e4a673de7725db76a51b714 (diff)
downloadglibc-59eda029a8a35e5f4e5cd7be0f84c6629e48ec6e.tar.gz
glibc-59eda029a8a35e5f4e5cd7be0f84c6629e48ec6e.tar.xz
glibc-59eda029a8a35e5f4e5cd7be0f84c6629e48ec6e.zip
malloc: Remove NO_THREADS
No functional change.  It was not possible to build without
threading support before.
-rw-r--r--ChangeLog7
-rw-r--r--malloc/arena.c3
-rw-r--r--malloc/malloc.c2
-rw-r--r--sysdeps/generic/malloc-machine.h19
4 files changed, 7 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 6658cb5692..bad618941c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2016-02-19  Florian Weimer  <fweimer@redhat.com>
 
+	* sysdeps/generic/malloc-machine.h: Assume mutex_init is always
+	available.  Do not define NO_THREADS.
+	* malloc/malloc.c: Do not check NO_THREADS.
+	* malloc/arena.c: Likewise.
+
+2016-02-19  Florian Weimer  <fweimer@redhat.com>
+
 	* malloc/malloc.c (__libc_mallinfo): Update comment.
 	(struct malloc_par): Remove max_total_mem member, it was always 0.
 	(int_mallinfo): Store 0 into usmblks (no functional change).
diff --git a/malloc/arena.c b/malloc/arena.c
index 54cf0865ea..cd26cdd02c 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -127,8 +127,6 @@ int __malloc_initialized = -1;
 
 /**************************************************************************/
 
-#ifndef NO_THREADS
-
 /* atfork support.  */
 
 static void *(*save_malloc_hook)(size_t __size, const void *);
@@ -327,7 +325,6 @@ ptmalloc_unlock_all2 (void)
 
 #  define ptmalloc_unlock_all2 ptmalloc_unlock_all
 # endif
-#endif  /* !NO_THREADS */
 
 /* Initialization routine. */
 #include <string.h>
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 1038df4864..b8a43bfb32 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1073,10 +1073,8 @@ static void*   realloc_check(void* oldmem, size_t bytes,
 			       const void *caller);
 static void*   memalign_check(size_t alignment, size_t bytes,
 				const void *caller);
-#ifndef NO_THREADS
 static void*   malloc_atfork(size_t sz, const void *caller);
 static void      free_atfork(void* mem, const void *caller);
-#endif
 
 /* ------------------ MMAP support ------------------  */
 
diff --git a/sysdeps/generic/malloc-machine.h b/sysdeps/generic/malloc-machine.h
index 1ed2d50a20..71b95c23e9 100644
--- a/sysdeps/generic/malloc-machine.h
+++ b/sysdeps/generic/malloc-machine.h
@@ -22,25 +22,6 @@
 
 #include <atomic.h>
 
-#ifndef mutex_init /* No threads, provide dummy macros */
-
-# define NO_THREADS
-
-/* The mutex functions used to do absolutely nothing, i.e. lock,
-   trylock and unlock would always just return 0.  However, even
-   without any concurrently active threads, a mutex can be used
-   legitimately as an `in use' flag.  To make the code that is
-   protected by a mutex async-signal safe, these macros would have to
-   be based on atomic test-and-set operations, for example. */
-typedef int mutex_t;
-
-# define mutex_init(m)          (*(m) = 0)
-# define mutex_lock(m)          ({ *(m) = 1; 0; })
-# define mutex_trylock(m)       (*(m) ? 1 : ((*(m) = 1), 0))
-# define mutex_unlock(m)        (*(m) = 0)
-
-#endif /* !defined mutex_init */
-
 #ifndef atomic_full_barrier
 # define atomic_full_barrier() __asm ("" ::: "memory")
 #endif