]> git.sesse.net Git - vlc/commitdiff
misc/threads.c: On non-linux create a PTHREAD_MUTEX_ERRORCHECK...
authorPierre d'Herbemont <pdherbemont@videolan.org>
Mon, 17 Sep 2007 14:13:09 +0000 (14:13 +0000)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Mon, 17 Sep 2007 14:13:09 +0000 (14:13 +0000)
src/misc/threads.c

index 63684ba7ae05a43aba988e81c034214d4b2a7cee..4c597082da521e775f711923ee10abf4d80a1cf5 100644 (file)
@@ -296,7 +296,8 @@ int __vlc_mutex_init( vlc_object_t *p_this, vlc_mutex_t *p_mutex )
     return B_OK;
 
 #elif defined( PTHREAD_COND_T_IN_PTHREAD_H )
-#   if defined(DEBUG) && defined(SYS_LINUX)
+# if defined(DEBUG)
+#   if defined(SYS_LINUX)
     {
         /* Create error-checking mutex to detect problems more easily. */
         pthread_mutexattr_t attr;
@@ -308,7 +309,20 @@ int __vlc_mutex_init( vlc_object_t *p_this, vlc_mutex_t *p_mutex )
         pthread_mutexattr_destroy( &attr );
         return( i_result );
     }
+#   else
+    {
+        /* Create error-checking mutex to detect problems more easily. */
+        pthread_mutexattr_t attr;
+        int                 i_result;
+
+        pthread_mutexattr_init( &attr );
+        pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_ERRORCHECK );
+        i_result = pthread_mutex_init( &p_mutex->mutex, &attr );
+        pthread_mutexattr_destroy( &attr );
+        return( i_result );
+    }
 #   endif
+# endif
     return pthread_mutex_init( &p_mutex->mutex, NULL );
 
 #elif defined( HAVE_CTHREADS_H )