[runtime] Fix another race in mono_class_setup_supertypes ().
authorZoltan Varga <vargaz@gmail.com>
Wed, 9 Nov 2016 23:13:33 +0000 (18:13 -0500)
committerZoltan Varga <vargaz@gmail.com>
Wed, 9 Nov 2016 23:13:38 +0000 (18:13 -0500)
mono/metadata/class.c

index 7361be0af6fb55a616fc84911fb146005b48c782..7e6c401d031f4102e48379383679d3290ad3395d 100644 (file)
@@ -5701,6 +5701,8 @@ mono_class_setup_supertypes (MonoClass *klass)
 
        mono_loader_lock ();
        klass->idepth = idepth;
+       /* Needed so idepth is visible before supertypes is set */
+       mono_memory_barrier ();
        klass->supertypes = supertypes;
        mono_loader_unlock ();
 }