diff options
-rw-r--r-- | generic/tclInt.h | 23 | ||||
-rw-r--r-- | generic/tclThread.c | 4 | ||||
-rw-r--r-- | unix/tclUnixThrd.c | 6 |
3 files changed, 26 insertions, 7 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index 7f9b0fc..b7daf90 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -124,6 +124,26 @@ typedef int ptrdiff_t; # define vsnprintf _vsnprintf #endif +#if !defined(TCL_THREADS) +# define TCL_THREADS 1 +#endif +#if !TCL_THREADS +# undef TCL_DECLARE_MUTEX +# define TCL_DECLARE_MUTEX(name) +# undef Tcl_MutexLock +# define Tcl_MutexLock(mutexPtr) +# undef Tcl_MutexUnlock +# define Tcl_MutexUnlock(mutexPtr) +# undef Tcl_MutexFinalize +# define Tcl_MutexFinalize(mutexPtr) +# undef Tcl_ConditionNotify +# define Tcl_ConditionNotify(condPtr) +# undef Tcl_ConditionWait +# define Tcl_ConditionWait(condPtr, mutexPtr, timePtr) +# undef Tcl_ConditionFinalize +# define Tcl_ConditionFinalize(condPtr) +#endif + /* * The following procedures allow namespaces to be customized to support * special name resolution rules for commands/variables. @@ -4131,9 +4151,6 @@ typedef const char *TclDTraceStr; } \ } -#if !defined(TCL_THREADS) -# define TCL_THREADS 1 -#endif #if TCL_THREADS && !defined(USE_THREAD_ALLOC) # define USE_THREAD_ALLOC 1 #endif diff --git a/generic/tclThread.c b/generic/tclThread.c index 8def429..cafd824 100644 --- a/generic/tclThread.c +++ b/generic/tclThread.c @@ -254,6 +254,7 @@ TclRememberMutex( *---------------------------------------------------------------------- */ +#undef Tcl_MutexFinalize void Tcl_MutexFinalize( Tcl_Mutex *mutexPtr) @@ -307,6 +308,7 @@ TclRememberCondition( *---------------------------------------------------------------------- */ +#undef Tcl_ConditionFinalize void Tcl_ConditionFinalize( Tcl_Condition *condPtr) @@ -458,9 +460,7 @@ Tcl_ExitThread( int status) { Tcl_FinalizeThread(); -#if TCL_THREADS TclpThreadExit(status); -#endif } #if !TCL_THREADS diff --git a/unix/tclUnixThrd.c b/unix/tclUnixThrd.c index 90c1c1c..128602a 100644 --- a/unix/tclUnixThrd.c +++ b/unix/tclUnixThrd.c @@ -158,7 +158,6 @@ Tcl_JoinThread( #endif } -#if TCL_THREADS /* *---------------------------------------------------------------------- * @@ -179,9 +178,12 @@ void TclpThreadExit( int status) { +#if TCL_THREADS pthread_exit(INT2PTR(status)); -} +#else /* TCL_THREADS */ + exit(status); #endif /* TCL_THREADS */ +} /* *---------------------------------------------------------------------- |