Commit f298720c authored by José Fonseca's avatar José Fonseca

egl: Use C11 thread abstractions.

Reviewed-by: default avatarBrian Paul <brianp@vmware.com>
Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
Reviewed-by: default avatarChad Versace <chad.versace@linux.intel.com>
parent 54876afc
......@@ -31,46 +31,34 @@
#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 */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment