Merge pull request #496 from nicolas-raoul/unit-test-for-issue2907
[mono.git] / mono / mini / mini-darwin.c
index e6b6a1770a1eae853d7cd5c0e81fd20c2e20b8c6..5ec06d20a748c8036e64b9900bbc623f3a47b723 100644 (file)
@@ -69,7 +69,7 @@
 #include <dlfcn.h>
 #include <AvailabilityMacros.h>
 
-#if (MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5) && !defined (TARGET_ARM)
+#if defined (TARGET_OSX) && (MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5)
 #define NEEDS_EXCEPTION_THREAD
 #endif
 
@@ -307,16 +307,15 @@ mono_thread_state_init_from_handle (MonoThreadUnwindState *tctx, MonoNativeThrea
 
        mono_sigctx_to_monoctx (&ctx, &tctx->ctx);
 
-       domain_key = mono_domain_get_tls_offset ();
+       domain_key = mono_domain_get_tls_key ();
        jit_key = mono_get_jit_tls_key ();
 
        jit_tls = mono_mach_arch_get_tls_value_from_thread (thread_id, jit_key);
        domain = mono_mach_arch_get_tls_value_from_thread (thread_id, domain_key);
 
        /*Thread already started to cleanup, can no longer capture unwind state*/
-       if (!jit_tls)
+       if (!jit_tls || !domain)
                return FALSE;
-       g_assert (domain);
 
 #if defined (MONO_ARCH_ENABLE_MONO_LMF_VAR)
        lmf_key =  mono_get_lmf_tls_offset ();