From ef9de6517ac32857c69196c452c54ae9440d1a62 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 2 Mar 2010 18:00:27 +0000 Subject: [PATCH] fix race condition in future-thread initialization svn: r18430 --- src/mzscheme/src/future.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mzscheme/src/future.c b/src/mzscheme/src/future.c index f00e19f1c1..2c8e8e1ac4 100644 --- a/src/mzscheme/src/future.c +++ b/src/mzscheme/src/future.c @@ -385,6 +385,8 @@ static void init_future_thread(Scheme_Future_State *fs, int i) memset(fts, 0, sizeof(Scheme_Future_Thread_State)); fts->id = i; + fts->gen0_size = 1; + params.shared_GC = GC_instance; params.fts = fts; params.fs = fs; @@ -411,8 +413,6 @@ static void init_future_thread(Scheme_Future_State *fs, int i) mz_proc_thread_create_w_stacksize(worker_thread_future_loop, ¶ms, INITIAL_C_STACK_SIZE); mzrt_sema_wait(params.ready_sema); mzrt_sema_destroy(params.ready_sema); - - fts->gen0_size = 1; scheme_register_static(&fts->current_ft, sizeof(void*)); scheme_register_static(params.scheme_current_runstack_ptr, sizeof(void*));