[runtime] Add back locking around mono_class_layout_fields () to work around https...
authorZoltan Varga <vargaz@gmail.com>
Mon, 21 Nov 2016 22:28:34 +0000 (17:28 -0500)
committerZoltan Varga <vargaz@gmail.com>
Mon, 21 Nov 2016 22:28:34 +0000 (17:28 -0500)
mono/metadata/class.c

index 8aba20911a930693825d70d6919ca31115e9d988..61bbfe70f4ba56cb8ddfbb5d0e9f90344239e136 100644 (file)
@@ -1639,8 +1639,11 @@ mono_class_setup_fields (MonoClass *klass)
                /* The def_value of fields is compute lazily during vtable creation */
        }
 
-       if (!mono_class_has_failure (klass))
+       if (!mono_class_has_failure (klass)) {
+               mono_loader_lock ();
                mono_class_layout_fields (klass, instance_size, packing_size, FALSE);
+               mono_loader_unlock ();
+       }
 
        init_list = g_slist_remove (init_list, klass);
        mono_native_tls_set_value (setup_fields_tls_id, init_list);