--- glib/gthread-posix.c.orig	Sun Apr  1 23:08:41 2012
+++ glib/gthread-posix.c	Wed Apr 25 13:22:47 2012
@@ -89,19 +89,15 @@ g_mutex_impl_new (void)
   if G_UNLIKELY (mutex == NULL)
     g_thread_abort (errno, "malloc");
 
-#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
   pthread_mutexattr_t attr;
   pthread_mutexattr_init (&attr);
-  pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
+  pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ERRORCHECK);
   pattr = &attr;
-#endif
 
   if G_UNLIKELY ((status = pthread_mutex_init (mutex, pattr)) != 0)
     g_thread_abort (status, "pthread_mutex_init");
 
-#ifdef PTHREAD_ADAPTIVE_MUTEX_NP
   pthread_mutexattr_destroy (&attr);
-#endif
 
   return mutex;
 }
