From 57aa34cfe6ba89dc57696ef7a7c4f333136a0188 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 18 Nov 2009 15:15:20 +0000 Subject: [PATCH] repairs for thread-local support when the C sompiler does support thread locals svn: r16864 --- src/mzscheme/src/salloc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mzscheme/src/salloc.c b/src/mzscheme/src/salloc.c index 4d56f305e4..cb6444c097 100644 --- a/src/mzscheme/src/salloc.c +++ b/src/mzscheme/src/salloc.c @@ -54,8 +54,12 @@ static void **dgc_array; static int *dgc_count; static int dgc_size; -#ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS +#ifdef USE_THREAD_LOCAL +# ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS pthread_key_t scheme_thread_local_key; +# else +THREAD_LOCAL Thread_Local_Variables scheme_thread_locals; +# endif #endif extern int scheme_num_copied_stacks; @@ -223,7 +227,7 @@ START_XFORM_SKIP; #endif void scheme_init_os_thread() { -#ifdef USE_THREAD_LOCAL +#ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS Thread_Local_Variables *vars; vars = (Thread_Local_Variables *)malloc(sizeof(Thread_Local_Variables)); memset(vars, 0, sizeof(Thread_Local_Variables));