2009-09-29 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Tue, 29 Sep 2009 20:06:27 +0000 (20:06 -0000)
committerZoltan Varga <vargaz@gmail.com>
Tue, 29 Sep 2009 20:06:27 +0000 (20:06 -0000)
* object.c (mono_unhandled_exception): Fix a crash if there is no main thread.

svn path=/trunk/mono/; revision=142917

mono/metadata/ChangeLog
mono/metadata/object.c

index 602b7eda1fc74677efc1d506d1a1bb21f849eb65..ac9cf0f6824080d48fa69417dab5d282c8c1fe2f 100644 (file)
@@ -1,5 +1,7 @@
 2009-09-29  Zoltan Varga  <vargaz@gmail.com>
 
+       * object.c (mono_unhandled_exception): Fix a crash if there is no main thread.
+
        * threads.c (build_wait_tids): Fix a crash if there is no main thread, like
        when using --compile-all.
 
index b328d6aaf02fa8cee0542f9aa0c587b5ffc31572..8c71e2e7f44c86cb4a71d4dfe59e7f12ff5f8e81 100644 (file)
@@ -3395,7 +3395,7 @@ mono_unhandled_exception (MonoObject *exc)
        g_assert (field);
 
        if (exc->vtable->klass != mono_defaults.threadabortexception_class) {
-               gboolean abort_process = (mono_thread_internal_current () == main_thread->internal_thread) ||
+               gboolean abort_process = (main_thread && (mono_thread_internal_current () == main_thread->internal_thread)) ||
                                (mono_runtime_unhandled_exception_policy_get () == MONO_UNHANDLED_POLICY_CURRENT);
                root_appdomain_delegate = *(MonoObject **)(((char *)root_domain->domain) + field->offset);
                if (current_domain != root_domain && (mono_framework_version () >= 2)) {