[Mesa-dev] [PATCH v2] c11/threads: Use PTHREAD_MUTEX_RECURSIVE by default

Felix Janda felix.janda at posteo.de
Mon Feb 2 11:04:16 PST 2015


Previously PTHREAD_MUTEX_RECURSIVE_NP had been used on linux for
compatibility with old glibc. Since mesa defines __GNU_SOURCE__
on linux PTHREAD_MUTEX_RECURSIVE is also available since at least
1998. So we can unconditionally use the portable version
PTHREAD_MUTEX_RECURSIVE.
---
Previous patch didn't work as intended since on glibc these are
part of an enum and not defines.
---
 include/c11/threads_posix.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
index f9c165d..2182c28 100644
--- a/include/c11/threads_posix.h
+++ b/include/c11/threads_posix.h
@@ -177,13 +177,8 @@ mtx_init(mtx_t *mtx, int type)
       && type != (mtx_try|mtx_recursive))
         return thrd_error;
     pthread_mutexattr_init(&attr);
-    if ((type & mtx_recursive) != 0) {
-#if defined(__linux__) || defined(__linux)
-        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
-#else
+    if ((type & mtx_recursive) != 0)
         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
-#endif
-    }
     pthread_mutex_init(mtx, &attr);
     pthread_mutexattr_destroy(&attr);
     return thrd_success;
-- 
2.0.5


More information about the mesa-dev mailing list