-void
-mono_threads_platform_set_exited (MonoThreadInfo *info)
-{
- int thr_ret;
-
- g_assert (info->handle);
- if (mono_w32handle_issignalled (info->handle))
- g_error ("%s: handle %p thread %p has already exited, it's handle is signalled", __func__, info->handle, mono_thread_info_get_tid (info));
- if (mono_w32handle_get_type (info->handle) == MONO_W32HANDLE_UNUSED)
- g_error ("%s: handle %p thread %p has already exited, it's handle type is 'unused'", __func__, info->handle, mono_thread_info_get_tid (info));
-
- thr_ret = mono_w32handle_lock_handle (info->handle);
- g_assert (thr_ret == 0);
-
- mono_w32handle_set_signal_state (info->handle, TRUE, TRUE);
-
- thr_ret = mono_w32handle_unlock_handle (info->handle);
- g_assert (thr_ret == 0);
-
- /* The thread is no longer active, so unref it */
- mono_w32handle_unref (info->handle);
-
- info->handle = NULL;
-}
-
-static const gchar* thread_typename (void)
-{
- return "Thread";
-}
-
-static gsize thread_typesize (void)
-{
- return 0;
-}
-
-static MonoW32HandleOps thread_ops = {
- NULL, /* close */
- NULL, /* signal */
- NULL, /* own */
- NULL, /* is_owned */
- NULL, /* special_wait */
- NULL, /* prewait */
- NULL, /* details */
- thread_typename, /* typename */
- thread_typesize, /* typesize */
-};
-
-void
-mono_threads_platform_init (void)