glapi: drop SOLARIS_THREADS
It seems that SOLARIS_THREADS is not used and does not work.
This commit is contained in:
@@ -199,7 +199,7 @@ few preprocessor defines.</p>
|
|||||||
<li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li>
|
<li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li>
|
||||||
<li>If <tt>PTHREADS</tt> is defined, method #3 is used.</li>
|
<li>If <tt>PTHREADS</tt> is defined, method #3 is used.</li>
|
||||||
<li>If any of <tt>PTHREADS</tt>,
|
<li>If any of <tt>PTHREADS</tt>,
|
||||||
<tt>SOLARIS_THREADS</tt>, <tt>WIN32_THREADS</tt>, or <tt>BEOS_THREADS</tt>
|
<tt>WIN32_THREADS</tt>, or <tt>BEOS_THREADS</tt>
|
||||||
is defined, method #2 is used.</li>
|
is defined, method #2 is used.</li>
|
||||||
<li>If none of the preceeding are defined, method #1 is used.</li>
|
<li>If none of the preceeding are defined, method #1 is used.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -138,7 +138,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
|
|||||||
print '# define GL_PREFIX(n) GLNAME(CONCAT(gl,n))'
|
print '# define GL_PREFIX(n) GLNAME(CONCAT(gl,n))'
|
||||||
print '# endif'
|
print '# endif'
|
||||||
print ''
|
print ''
|
||||||
print '#if defined(PTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)'
|
print '#if defined(PTHREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)'
|
||||||
print '# define THREADS'
|
print '# define THREADS'
|
||||||
print '#endif'
|
print '#endif'
|
||||||
print ''
|
print ''
|
||||||
|
@@ -79,7 +79,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
|
|||||||
print '#define GLOBL_FN(x) GLOBL x'
|
print '#define GLOBL_FN(x) GLOBL x'
|
||||||
print '#endif'
|
print '#endif'
|
||||||
print ''
|
print ''
|
||||||
print '#if defined(PTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)'
|
print '#if defined(PTHREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)'
|
||||||
print '# define THREADS'
|
print '# define THREADS'
|
||||||
print '#endif'
|
print '#endif'
|
||||||
print ''
|
print ''
|
||||||
|
@@ -115,74 +115,6 @@ _glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Solaris/Unix International Threads -- Use only if POSIX threads
|
|
||||||
* aren't available on your Unix platform. Solaris 2.[34] are examples
|
|
||||||
* of platforms where this is the case. Be sure to use -mt and/or
|
|
||||||
* -D_REENTRANT when compiling.
|
|
||||||
*/
|
|
||||||
#ifdef SOLARIS_THREADS
|
|
||||||
#define USE_LOCK_FOR_KEY /* undef this to try a version without
|
|
||||||
lock for the global key... */
|
|
||||||
|
|
||||||
PUBLIC unsigned long
|
|
||||||
_glthread_GetID(void)
|
|
||||||
{
|
|
||||||
abort(); /* XXX not implemented yet */
|
|
||||||
return (unsigned long) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
|
||||||
{
|
|
||||||
if ((errno = mutex_init(&tsd->keylock, 0, NULL)) != 0 ||
|
|
||||||
(errno = thr_keycreate(&(tsd->key), free)) != 0) {
|
|
||||||
perror(INIT_TSD_ERROR);
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
tsd->initMagic = INIT_MAGIC;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void *
|
|
||||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
|
||||||
{
|
|
||||||
void* ret;
|
|
||||||
if (tsd->initMagic != INIT_MAGIC) {
|
|
||||||
_glthread_InitTSD(tsd);
|
|
||||||
}
|
|
||||||
#ifdef USE_LOCK_FOR_KEY
|
|
||||||
mutex_lock(&tsd->keylock);
|
|
||||||
thr_getspecific(tsd->key, &ret);
|
|
||||||
mutex_unlock(&tsd->keylock);
|
|
||||||
#else
|
|
||||||
if ((errno = thr_getspecific(tsd->key, &ret)) != 0) {
|
|
||||||
perror(GET_TSD_ERROR);
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
|
||||||
{
|
|
||||||
if (tsd->initMagic != INIT_MAGIC) {
|
|
||||||
_glthread_InitTSD(tsd);
|
|
||||||
}
|
|
||||||
if ((errno = thr_setspecific(tsd->key, ptr)) != 0) {
|
|
||||||
perror(SET_TSD_ERROR);
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef USE_LOCK_FOR_KEY
|
|
||||||
#endif /* SOLARIS_THREADS */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Win32 Threads. The only available option for Windows 95/NT.
|
* Win32 Threads. The only available option for Windows 95/NT.
|
||||||
* Be sure that you compile using the Multithreaded runtime, otherwise
|
* Be sure that you compile using the Multithreaded runtime, otherwise
|
||||||
|
@@ -64,7 +64,7 @@
|
|||||||
#define GLTHREAD_H
|
#define GLTHREAD_H
|
||||||
|
|
||||||
|
|
||||||
#if defined(PTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
#if defined(PTHREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
||||||
#ifndef THREADS
|
#ifndef THREADS
|
||||||
#define THREADS
|
#define THREADS
|
||||||
#endif
|
#endif
|
||||||
@@ -149,38 +149,7 @@ typedef unsigned int _glthread_Cond;
|
|||||||
#define _glthread_COND_BROADCAST(cond) \
|
#define _glthread_COND_BROADCAST(cond) \
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
|
|
||||||
#endif
|
#endif /* PTHREADS */
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Solaris threads. Use only up to Solaris 2.4.
|
|
||||||
* Solaris 2.5 and higher provide POSIX threads.
|
|
||||||
* Be sure to compile with -mt on the Solaris compilers, or
|
|
||||||
* use -D_REENTRANT if using gcc.
|
|
||||||
*/
|
|
||||||
#ifdef SOLARIS_THREADS
|
|
||||||
#include <thread.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
thread_key_t key;
|
|
||||||
mutex_t keylock;
|
|
||||||
int initMagic;
|
|
||||||
} _glthread_TSD;
|
|
||||||
|
|
||||||
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_DESTROY_MUTEX(name) (void) name
|
|
||||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
|
||||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
|
||||||
|
|
||||||
#endif /* SOLARIS_THREADS */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -45,7 +45,7 @@
|
|||||||
# define GL_PREFIX(n) GLNAME(CONCAT(gl,n))
|
# define GL_PREFIX(n) GLNAME(CONCAT(gl,n))
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#if defined(PTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
#if defined(PTHREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
||||||
# define THREADS
|
# define THREADS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -52,7 +52,7 @@
|
|||||||
#define GLOBL_FN(x) GLOBL x
|
#define GLOBL_FN(x) GLOBL x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
#if defined(PTHREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
|
||||||
# define THREADS
|
# define THREADS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user