return 0;
}
- states = mono_g_hash_table_new_type (g_direct_hash, g_direct_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_THREAD_POOL, "i/o thread pool states table");
+ states = mono_g_hash_table_new_type (g_direct_hash, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_THREAD_POOL, "i/o thread pool states table");
- for (;;) {
+ while (!mono_runtime_is_shutting_down ()) {
gint i, j;
gint res;
+ gboolean interrupted = FALSE;
+
+ if (mono_thread_interruption_checkpoint ())
+ continue;
mono_coop_mutex_lock (&threadpool_io->updates_lock);