From d3729e9af427fda8ddb12182eb8791011ed42dd8 Mon Sep 17 00:00:00 2001 From: Mark Probst Date: Wed, 27 Jul 2011 19:03:23 +0200 Subject: [PATCH] [sgen] Don't use pthread_once() to init a TLS key, do it at GC init. --- mono/metadata/sgen-gc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mono/metadata/sgen-gc.c b/mono/metadata/sgen-gc.c index e18be17a8c8d5..2024ec373acd5 100644 --- a/mono/metadata/sgen-gc.c +++ b/mono/metadata/sgen-gc.c @@ -2040,9 +2040,6 @@ init_user_copy_or_mark_key (void) static void set_user_copy_or_mark_data (UserCopyOrMarkData *data) { - static pthread_once_t init_control = PTHREAD_ONCE_INIT; - pthread_once (&init_control, init_user_copy_or_mark_key); - pthread_setspecific (user_copy_or_mark_key, data); } @@ -6590,6 +6587,8 @@ mono_gc_base_init (void) LOCK_INIT (global_remset_mutex); LOCK_INIT (pin_queue_mutex); + init_user_copy_or_mark_key (); + if ((env = getenv ("MONO_GC_PARAMS"))) { opts = g_strsplit (env, ",", -1); for (ptr = opts; *ptr; ++ptr) {