static void signal_and_unref (gpointer user_data) { OSEventWaitData *data; data = (OSEventWaitData*) user_data; mono_os_event_set (&data->event); if (InterlockedDecrement ((gint32*) &data->ref) == 0) { mono_os_event_destroy (&data->event); g_free (data); } }
static void mono_threads_signal_thread_handle (MonoThreadHandle* thread_handle) { mono_os_event_set (&thread_handle->event); }