void
mono_threads_init_platform (void)
-{
+{
+ mono_threads_init_dead_letter ();
}
void
thread_abort (info->native_handle);
}
+void
+mono_threads_core_abort_syscall (MonoThreadInfo *info)
+{
+}
+
+gboolean
+mono_threads_core_needs_abort_syscall (void)
+{
+ return FALSE;
+}
+
gboolean
mono_threads_core_suspend (MonoThreadInfo *info)
{
kern_return_t ret;
+ gboolean res;
+
g_assert (info);
ret = thread_suspend (info->native_handle);
if (ret != KERN_SUCCESS)
return FALSE;
- return mono_threads_get_runtime_callbacks ()->
+ res = mono_threads_get_runtime_callbacks ()->
thread_state_init_from_handle (&info->suspend_state, mono_thread_info_get_tid (info), info->native_handle);
+ if (!res)
+ thread_resume (info->native_handle);
+ return res;
}
gboolean
mono_threads_platform_register (MonoThreadInfo *info)
{
info->native_handle = mach_thread_self ();
+ mono_threads_install_dead_letter ();
}
void
return pthread_create (tid, NULL, func, arg) == 0;
}
+void
+mono_threads_core_set_name (MonoNativeThreadId tid, const char *name)
+{
+ /* pthread_setnmae_np() on Mac is not documented and doesn't receive thread id. */
+}
+
#endif