2009-06-01 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / metadata / ChangeLog
index 5e908907f9cf9ca398d35f0116039fd672e22fa2..cbdf8c81dbc60562e3598fbabddd766685708168 100644 (file)
@@ -1,3 +1,22 @@
+2009-06-01 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       Change MonoImage::name_cache to be protected by the image lock
+       instead of the loader lock.
+
+       * appdomain.c (deregister_reflection_info_roots): Protect access
+       to name_cache.
+
+       * class.c (mono_image_init_name_cache): Change from the loader lock
+       to the image lock. Check if the cache wasn't already created.
+
+       * class.c: Change from the loader to the image lock.
+
+       * icall.c (ves_icall_System_Reflection_Assembly_GetNamespaces): Fix
+       the code to hold the image lock while iterating over name_cache and
+       not go into mono_array_new holding it.
+
+       * metadata-internals.h: Add a comment about this change.
+
 2009-06-01 Rodrigo Kumpera  <rkumpera@novell.com>
 
        * icall.c (ves_icall_System_Reflection_Assembly_InternalGetType):