[coop] Mark the locking in mono_thread_info_safe_suspend_and_run () as blocking,...
authorZoltan Varga <vargaz@gmail.com>
Mon, 17 Aug 2015 23:32:34 +0000 (19:32 -0400)
committerZoltan Varga <vargaz@gmail.com>
Mon, 17 Aug 2015 23:32:34 +0000 (19:32 -0400)
mono/utils/mono-threads.c

index 5d4664369a172e207e06ef114002dfa4b5a094ff..671bcd4ea8623592677d80a14710211f138d9bd0 100644 (file)
@@ -884,7 +884,10 @@ mono_thread_info_safe_suspend_and_run (MonoNativeThreadId id, gboolean interrupt
        /*FIXME: unify this with self-suspend*/
        g_assert (id != mono_native_thread_id_get ());
 
+       /* This can block during stw */
+       MONO_PREPARE_BLOCKING;
        mono_thread_info_suspend_lock ();
+       MONO_FINISH_BLOCKING;
        mono_threads_begin_global_suspend ();
 
        info = suspend_sync_nolock (id, interrupt_kernel);