From 117456752cf9ac1f24d3cfd917ad34f670c244b8 Mon Sep 17 00:00:00 2001
From: Emil Velikov <emil.l.velikov@gmail.com>
Date: Thu, 19 Mar 2015 22:26:11 +0000
Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default

PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc.
Although due to the_GNU_SOURCES define the portable,
PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least
1998. Simplify things giving us compatibility with musl which
apparently does not provide the non-portable define.

Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use
PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
(Romain: cherry picked from commit 3b9b8f5f6d1b99af43e95ec0868404e552a85b73)
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 third_party/threads/threads_posix.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c
index 5835e43..e122bf9 100644
--- a/third_party/threads/threads_posix.c
+++ b/third_party/threads/threads_posix.c
@@ -26,6 +26,9 @@
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  */
+
+#define _GNU_SOURCE
+
 #include <stdlib.h>
 #ifndef assert
 #include <assert.h>
@@ -150,13 +153,8 @@ int 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.14.3

