aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flthr.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2004-08-24 02:34:30 +0000
committerThomas Grill <xovo@users.sourceforge.net>2004-08-24 02:34:30 +0000
commit02a91a1c1287fea5932bde76ceaece20cb69d1e1 (patch)
treee5f21bd2bdd1d47f790f27301c3459dd15559ba8 /externals/grill/flext/source/flthr.cpp
parent6bde9039f63f4529bc29705cf05750161d299cf5 (diff)
""
svn path=/trunk/; revision=1972
Diffstat (limited to 'externals/grill/flext/source/flthr.cpp')
-rw-r--r--externals/grill/flext/source/flthr.cpp31
1 files changed, 1 insertions, 30 deletions
diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp
index d6bc9276..8a7a841f 100644
--- a/externals/grill/flext/source/flthr.cpp
+++ b/externals/grill/flext/source/flthr.cpp
@@ -50,29 +50,6 @@ static bool thrhelpexit = false;
static flext::ThrCond *thrhelpcond = NULL;
-#if defined(FLEXT_THREADS) && FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC && FLEXT_THREADS == FLEXT_THR_POSIX
-// utility code taken from from Apple's CFM_MachO_CFM example:
-//
-// This function allocates a block of CFM glue code which contains the instructions to call CFM routines
-//
-(void (*)(void *))MachOFunctionPointerForCFMFunctionPointer( (void (*)(void *))cfmfp )
-{
- // Apple utility code for CFM callback glue
- static const UInt32 tmpl[6] = {0x3D800000, 0x618C0000, 0x800C0000, 0x804C0004, 0x7C0903A6, 0x4E800420};
- UInt32 *mfp = (UInt32*) NewPtr( sizeof(tmpl) ); // Must later dispose of allocated memory
- // (this is freed with app heap in this object)
- mfp[0] = tmpl[0] | ((UInt32)cfmfp >> 16);
- mfp[1] = tmpl[1] | ((UInt32)cfmfp & 0xFFFF);
- mfp[2] = tmpl[2];
- mfp[3] = tmpl[3];
- mfp[4] = tmpl[4];
- mfp[5] = tmpl[5];
- MakeDataExecutable( mfp, sizeof(tmpl) );
- return (void (*)(void *))mfp;
-}
-#endif
-
-
flext::thrid_t flext::GetSysThreadId() { return thrid; }
@@ -100,13 +77,7 @@ bool flext::StartHelper()
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
thrhelpexit = false;
-#if FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC
- void (*CFMThrHelper)(void *) = MachOFunctionPointerForCFMFunctionPointer(ThrHelper);
- int ret = pthread_create (&thrhelpid,&attr,(void *(*)(void *))CFMThrHelper,NULL);
-#else
- int ret = pthread_create (&thrhelpid,&attr,(void *(*)(void *))ThrHelper,NULL);
-#endif
- ok = !ret;
+ ok = pthread_create (&thrhelpid,&attr,(void *(*)(void *))ThrHelper,NULL) == 0;
#elif FLEXT_THREADS == FLEXT_THR_MP
if(!MPLibraryIsLoaded())
error("Thread library is not loaded");