egl: Use C11 thread abstractions.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 26 Apr 2013 07:04:17 +0000 (08:04 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 23 Jan 2014 12:55:55 +0000 (12:55 +0000)
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
src/egl/main/eglmutex.h

index 1349e9ec78a0f5783df731cec2e83c341d0c2b18..2ec965c1249c5a1033c3144e77b92c543024ab2b 100644 (file)
 
 #include "eglcompiler.h"
 
-#ifdef HAVE_PTHREAD
-#include <pthread.h>
+#include "c11/threads.h"
 
-typedef pthread_mutex_t _EGLMutex;
+typedef mtx_t _EGLMutex;
 
 static INLINE void _eglInitMutex(_EGLMutex *m)
 {
-   pthread_mutex_init(m, NULL);
+   mtx_init(m, mtx_plain);
 }
 
 static INLINE void
 _eglDestroyMutex(_EGLMutex *m)
 {
-   pthread_mutex_destroy(m);
+   mtx_destroy(m);
 }
 
 static INLINE void
 _eglLockMutex(_EGLMutex *m)
 {
-   pthread_mutex_lock(m);
+   mtx_lock(m);
 }
 
 static INLINE void
 _eglUnlockMutex(_EGLMutex *m)
 {
-   pthread_mutex_unlock(m);
+   mtx_unlock(m);
 }
 
-#define _EGL_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#define _EGL_MUTEX_INITIALIZER _MTX_INITIALIZER_NP
 
-#else
-
-typedef int _EGLMutex;
-static INLINE void _eglInitMutex(_EGLMutex *m) { (void) m; }
-static INLINE void _eglDestroyMutex(_EGLMutex *m) { (void) m; }
-static INLINE void _eglLockMutex(_EGLMutex *m) { (void) m; }
-static INLINE void _eglUnlockMutex(_EGLMutex *m) { (void) m; }
-
-#define _EGL_MUTEX_INITIALIZER 0
-
-#endif
 
 #endif /* EGLMUTEX_INCLUDED */