Relax mark_mutex attribute needed to disable elision (Linux/x64)
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Thu, 11 Sep 2014 21:01:16 +0000 (23:01 +0200)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 23 Sep 2014 19:40:49 +0000 (23:40 +0400)
* pthread_support.c (setup_mark_lock): Pass PTHREAD_MUTEX_NORMAL
(instead of PTHREAD_MUTEX_ERRORCHECK) to pthread_mutexattr_settype
(actually, any valid settype call disables lock elision in glibc 2.19).

pthread_support.c

index 9c0d4bc..33c8a33 100644 (file)
@@ -2028,7 +2028,7 @@ static void setup_mark_lock(void)
       if (0 != pthread_mutexattr_init(&mattr)) {
         ABORT("pthread_mutexattr_init failed");
       }
-      if (0 != pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_ERRORCHECK)) {
+      if (0 != pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_NORMAL)) {
         ABORT("pthread_mutexattr_settype failed");
       }
       if (0 != pthread_mutex_init(&mark_mutex, &mattr)) {