]> granicus.if.org Git - gc/commitdiff
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, 12 May 2015 07:31:24 +0000 (10:31 +0300)
* 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 59e502957bd4f8abf497a47deeee4d772cb56c3d..70958a32dce734f515a4ac2aad985cd55ea15177 100644 (file)
@@ -2022,7 +2022,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)) {