Replace MUTEX_INITIALIZER with _LIBC_LOCK_INITIALIZER in generic code
authorFlorian Weimer <fweimer@redhat.com>
Tue, 24 Nov 2015 15:37:15 +0000 (16:37 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 24 Nov 2015 15:37:15 +0000 (16:37 +0100)
* sysdeps/mach/hurd/libc-lock.h (_LIBC_LOCK_INITIALIZER): Define.
(__libc_lock_define_initialized): Use it.
* sysdeps/nptl/libc-lockP.h (_LIBC_LOCK_INITIALIZER): Define.
* malloc/arena.c (list_lock): Use _LIBC_LOCK_INITIALIZER.
* malloc/malloc.c (main_arena): Likewise.
* sysdeps/generic/malloc-machine.h (MUTEX_INITIALIZER): Remove.
* sysdeps/nptl/malloc-machine.h (MUTEX_INITIALIZER): Remove.

ChangeLog
malloc/arena.c
malloc/malloc.c
sysdeps/generic/malloc-machine.h
sysdeps/mach/hurd/libc-lock.h
sysdeps/nptl/libc-lockP.h
sysdeps/nptl/malloc-machine.h

index e682445249c0dd780e7249ba3a33be7d656bcb71..f8c18b141bfb2e67a640bec9fe0c85be0b7d45ad 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-11-24  Florian Weimer  <fweimer@redhat.com>
+
+       Replace MUTEX_INITIALIZER with _LIBC_LOCK_INITIALIZER in generic code.
+       * sysdeps/mach/hurd/libc-lock.h (_LIBC_LOCK_INITIALIZER): Define.
+       (__libc_lock_define_initialized): Use it.
+       * sysdeps/nptl/libc-lockP.h (_LIBC_LOCK_INITIALIZER): Define.
+       * malloc/arena.c (list_lock): Use _LIBC_LOCK_INITIALIZER.
+       * malloc/malloc.c (main_arena): Likewise.
+       * sysdeps/generic/malloc-machine.h (MUTEX_INITIALIZER): Remove.
+       * sysdeps/nptl/malloc-machine.h (MUTEX_INITIALIZER): Remove.
+
 2015-11-23  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
index 0f00afaf22be1bdccff0b43cf1875b54ca0e7d0e..3dab7bb297c887f20011f2cc9f055c787d61ef1c 100644 (file)
@@ -73,7 +73,7 @@ static __thread mstate thread_arena attribute_tls_model_ie;
    objects.  No other (malloc) locks must be taken while list_lock is
    active, otherwise deadlocks may occur.  */
 
-static mutex_t list_lock = MUTEX_INITIALIZER;
+static mutex_t list_lock = _LIBC_LOCK_INITIALIZER;
 static size_t narenas = 1;
 static mstate free_list;
 
index 839263efc508cd999c23a3a4beda1a03eedae27b..a030109c3ef8163cbfafc772441415a324e045ba 100644 (file)
@@ -1760,7 +1760,7 @@ struct malloc_par
 
 static struct malloc_state main_arena =
 {
-  .mutex = MUTEX_INITIALIZER,
+  .mutex = _LIBC_LOCK_INITIALIZER,
   .next = &main_arena,
   .attached_threads = 1
 };
index 802d1f5b43957ac0facf8e8bb112b738a259014a..7b7eae807bbc063bd9cd2f5e58349bc73cac0206 100644 (file)
@@ -38,7 +38,6 @@ typedef int mutex_t;
 # define mutex_lock(m)          ({ *(m) = 1; 0; })
 # define mutex_trylock(m)       (*(m) ? 1 : ((*(m) = 1), 0))
 # define mutex_unlock(m)        (*(m) = 0)
-# define MUTEX_INITIALIZER      (0)
 
 #endif /* !defined mutex_init */
 
index b67a049bca6c1d2fe5e5ea3ffc2140101a704d0f..4f3bb5cbf5fb8a3cce2b5dcdd5df9d0c3a3102b0 100644 (file)
@@ -50,8 +50,9 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
   CLASS __libc_lock_t NAME;
 
 /* Define an initialized lock variable NAME with storage class CLASS.  */
+#define _LIBC_LOCK_INITIALIZER MUTEX_INITIALIZER
 #define __libc_lock_define_initialized(CLASS,NAME) \
-  CLASS __libc_lock_t NAME = MUTEX_INITIALIZER;
+  CLASS __libc_lock_t NAME = _LIBC_LOCK_INITIALIZER;
 
 /* Initialize the named lock variable, leaving it in a consistent, unlocked
    state.  */
index 29494fd67bcf1393a95a643e370cb61778662aeb..3881b45b301a7e2416cbe2de9ef5afd85649bee7 100644 (file)
@@ -75,6 +75,7 @@ typedef pthread_key_t __libc_key_t;
    initialized locks must be set to one due to the lack of normal
    atomic operations.) */
 
+#define _LIBC_LOCK_INITIALIZER LLL_LOCK_INITIALIZER
 #if IS_IN (libc) || IS_IN (libpthread)
 # if LLL_LOCK_INITIALIZER == 0
 #  define __libc_lock_define_initialized(CLASS,NAME) \
index 8dea606f5ee058aac904db9394ed8529e6677d0f..d46a9d919ca233d37b2c9d44914c689bafb6a6c3 100644 (file)
@@ -31,7 +31,6 @@ __libc_lock_define (typedef, mutex_t)
 #define mutex_lock(m)          __libc_lock_lock (*(m))
 #define mutex_trylock(m)       __libc_lock_trylock (*(m))
 #define mutex_unlock(m)                __libc_lock_unlock (*(m))
-#define MUTEX_INITIALIZER      LLL_LOCK_INITIALIZER
 
 /* This is defined by newer gcc version unique for each module.  */
 extern void *__dso_handle __attribute__ ((__weak__));