diff options
Diffstat (limited to 'glx/glthread.c')
-rw-r--r-- | glx/glthread.c | 144 |
1 files changed, 65 insertions, 79 deletions
diff --git a/glx/glthread.c b/glx/glthread.c index 5da7e433c..fd4c6cc09 100644 --- a/glx/glthread.c +++ b/glx/glthread.c @@ -22,13 +22,11 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - /* * XXX There's probably some work to do in order to make this file * truly reusable outside of Mesa. */ - #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #include <X11/Xfuncproto.h> @@ -38,7 +36,6 @@ #include <stdio.h> #include "glthread.h" - /* * This file should still compile even when THREADS is not defined. * This is to make things easier to deal with on the makefile scene.. @@ -53,7 +50,6 @@ #define GET_TSD_ERROR "_glthread_: failed to get thread specific data" #define SET_TSD_ERROR "_glthread_: thread failed to set thread specific data" - /* * Magic number to determine if a TSD object has been initialized. * Kind of a hack but there doesn't appear to be a better cross-platform @@ -61,8 +57,6 @@ */ #define INIT_MAGIC 0xff8adc98 - - /* * POSIX Threads -- The best way to go if your platform supports them. * Solaris >= 2.5 have POSIX threads, IRIX >= 6.4 reportedly @@ -75,44 +69,41 @@ _X_EXPORT unsigned long _glthread_GetID(void) { - return (unsigned long) pthread_self(); + return (unsigned long) pthread_self(); } - void -_glthread_InitTSD(_glthread_TSD *tsd) +_glthread_InitTSD(_glthread_TSD * tsd) { - if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) { - perror(INIT_TSD_ERROR); - exit(-1); - } - tsd->initMagic = INIT_MAGIC; + if (pthread_key_create(&tsd->key, NULL /*free */ ) != 0) { + perror(INIT_TSD_ERROR); + exit(-1); + } + tsd->initMagic = INIT_MAGIC; } - void * -_glthread_GetTSD(_glthread_TSD *tsd) +_glthread_GetTSD(_glthread_TSD * tsd) { - if (tsd->initMagic != (int) INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - return pthread_getspecific(tsd->key); + if (tsd->initMagic != (int) INIT_MAGIC) { + _glthread_InitTSD(tsd); + } + return pthread_getspecific(tsd->key); } - void -_glthread_SetTSD(_glthread_TSD *tsd, void *ptr) +_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) { - if (tsd->initMagic != (int) INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - if (pthread_setspecific(tsd->key, ptr) != 0) { - perror(SET_TSD_ERROR); - exit(-1); - } + if (tsd->initMagic != (int) INIT_MAGIC) { + _glthread_InitTSD(tsd); + } + if (pthread_setspecific(tsd->key, ptr) != 0) { + perror(SET_TSD_ERROR); + exit(-1); + } } -#endif /* PTHREADS */ +#endif /* PTHREADS */ /* * Win32 Threads. The only available option for Windows 95/NT. @@ -121,65 +112,64 @@ _glthread_SetTSD(_glthread_TSD *tsd, void *ptr) */ #ifdef WIN32_THREADS -void FreeTSD(_glthread_TSD *p) +void +FreeTSD(_glthread_TSD * p) { - if (p->initMagic==INIT_MAGIC) { - TlsFree(p->key); - p->initMagic=0; - } + if (p->initMagic == INIT_MAGIC) { + TlsFree(p->key); + p->initMagic = 0; + } } -void InsteadOf_exit(int nCode) +void +InsteadOf_exit(int nCode) { - DWORD dwErr=GetLastError(); + DWORD dwErr = GetLastError(); } unsigned long _glthread_GetID(void) { - return GetCurrentThreadId(); + return GetCurrentThreadId(); } - void -_glthread_InitTSD(_glthread_TSD *tsd) +_glthread_InitTSD(_glthread_TSD * tsd) { - tsd->key = TlsAlloc(); - if (tsd->key == TLS_OUT_OF_INDEXES) { - perror("Mesa:_glthread_InitTSD"); - InsteadOf_exit(-1); - } - tsd->initMagic = INIT_MAGIC; + tsd->key = TlsAlloc(); + if (tsd->key == TLS_OUT_OF_INDEXES) { + perror("Mesa:_glthread_InitTSD"); + InsteadOf_exit(-1); + } + tsd->initMagic = INIT_MAGIC; } - void * -_glthread_GetTSD(_glthread_TSD *tsd) +_glthread_GetTSD(_glthread_TSD * tsd) { - if (tsd->initMagic != INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - return TlsGetValue(tsd->key); + if (tsd->initMagic != INIT_MAGIC) { + _glthread_InitTSD(tsd); + } + return TlsGetValue(tsd->key); } - void -_glthread_SetTSD(_glthread_TSD *tsd, void *ptr) +_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) { - /* the following code assumes that the _glthread_TSD has been initialized - to zero at creation */ - if (tsd->initMagic != INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - if (TlsSetValue(tsd->key, ptr) == 0) { - perror("Mesa:_glthread_SetTSD"); - InsteadOf_exit(-1); - } + /* the following code assumes that the _glthread_TSD has been initialized + to zero at creation */ + if (tsd->initMagic != INIT_MAGIC) { + _glthread_InitTSD(tsd); + } + if (TlsSetValue(tsd->key, ptr) == 0) { + perror("Mesa:_glthread_SetTSD"); + InsteadOf_exit(-1); + } } -#endif /* WIN32_THREADS */ +#endif /* WIN32_THREADS */ -#else /* THREADS */ +#else /* THREADS */ /* * no-op functions @@ -188,31 +178,27 @@ _glthread_SetTSD(_glthread_TSD *tsd, void *ptr) _X_EXPORT unsigned long _glthread_GetID(void) { - return 0; + return 0; } - void -_glthread_InitTSD(_glthread_TSD *tsd) +_glthread_InitTSD(_glthread_TSD * tsd) { - (void) tsd; + (void) tsd; } - void * -_glthread_GetTSD(_glthread_TSD *tsd) +_glthread_GetTSD(_glthread_TSD * tsd) { - (void) tsd; - return NULL; + (void) tsd; + return NULL; } - void -_glthread_SetTSD(_glthread_TSD *tsd, void *ptr) +_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) { - (void) tsd; - (void) ptr; + (void) tsd; + (void) ptr; } - -#endif /* THREADS */ +#endif /* THREADS */ |