mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 11:48:06 +02:00
added Mutex macros
This commit is contained in:
parent
663049a719
commit
bc794059d8
1 changed files with 60 additions and 5 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: glthread.h,v 1.1 1999/12/16 17:31:06 brianp Exp $ */
|
||||
/* $Id: glthread.h,v 1.2 2000/01/31 23:10:47 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
|
|
@ -34,6 +34,8 @@
|
|||
* Adapted for new gl dispatcher by Brian Paul
|
||||
*/
|
||||
|
||||
#ifndef GLTHREAD_H
|
||||
#define GLTHREAD_H
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -68,9 +70,22 @@ typedef struct {
|
|||
pthread_once_t once;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef pthread_mutex_t _glthread_Mutex;
|
||||
typedef pthread_t _glthread_Thread;
|
||||
|
||||
typedef pthread_mutex_t _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) \
|
||||
static _glthread_Mutex name = PTHREAD_MUTEX_INITIALIZER
|
||||
|
||||
#define _glthread_INIT_MUTEX(name) \
|
||||
pthread_mutex_init(&(name), NULL)
|
||||
|
||||
#define _glthread_LOCK_MUTEX(name) \
|
||||
(void) pthread_mutex_lock(&(name))
|
||||
|
||||
#define _glthread_UNLOCK_MUTEX(name) \
|
||||
(void) pthread_mutex_unlock(&(name))
|
||||
|
||||
#endif /* PTHREADS */
|
||||
|
||||
|
||||
|
|
@ -91,9 +106,16 @@ typedef struct {
|
|||
int initfuncCalled;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef mutex_t _glthread_Mutex;
|
||||
typedef thread_t _glthread_Thread;
|
||||
|
||||
typedef mutex_t _glthread_Mutex;
|
||||
|
||||
/* XXX need to really implement mutex-related macros */
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
|
||||
#define _glthread_INIT_MUTEX(name) (void) name
|
||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
||||
|
||||
#endif /* SOLARIS_THREADS */
|
||||
|
||||
|
||||
|
|
@ -113,14 +135,22 @@ typedef struct {
|
|||
int initfuncCalled;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef CRITICAL_SECTION _glthread_Mutex;
|
||||
typedef HANDLE _glthread_Thread;
|
||||
|
||||
typedef CRITICAL_SECTION _glthread_Mutex;
|
||||
|
||||
/* XXX need to really implement mutex-related macros */
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
|
||||
#define _glthread_INIT_MUTEX(name) (void) name
|
||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Platform independent thread specific data API.
|
||||
*/
|
||||
|
|
@ -142,4 +172,29 @@ _glthread_SetTSD(_glthread_TSD *, void *, void (*initfunc)(void));
|
|||
|
||||
|
||||
|
||||
#endif
|
||||
#else /* THREADS */
|
||||
|
||||
|
||||
/*
|
||||
* THREADS not defined
|
||||
*/
|
||||
|
||||
typedef GLuint _glthread_TSD;
|
||||
|
||||
typedef GLuint _glthread_Thread;
|
||||
|
||||
typedef GLuint _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
|
||||
|
||||
#define _glthread_INIT_MUTEX(name) (void) name
|
||||
|
||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
||||
|
||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
||||
|
||||
|
||||
#endif /* THREADS */
|
||||
|
||||
#endif /* THREADS_H */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue