2009-06-19 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Fri, 19 Jun 2009 16:09:44 +0000 (16:09 -0000)
committerZoltan Varga <vargaz@gmail.com>
Fri, 19 Jun 2009 16:09:44 +0000 (16:09 -0000)
* metadata.c (mono_metadata_cleanup): Free the generic method cache
first, as it could reference data in the other caches.

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

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

index 4c3c4a87a55f97c5da57f54cf564b2c5b1748633..456d6f673ae9d0c719bf4424f2b784e2117eceef 100644 (file)
@@ -1,3 +1,8 @@
+2009-06-19  Zoltan Varga  <vargaz@gmail.com>
+
+       * metadata.c (mono_metadata_cleanup): Free the generic method cache
+       first, as it could reference data in the other caches.
+
 2009-06-18 Rodrigo Kumpera  <rkumpera@novell.com>
 
        * metadata-verify.c: Finished with method header verification.
index 2a5db3c97302dc2958844bde2313b54e06dbc799..42bf0ca5d0bb73c0098f31f86075c0767397bf65 100644 (file)
@@ -1506,11 +1506,12 @@ mono_metadata_init (void)
 void
 mono_metadata_cleanup (void)
 {
+       /* Has to free this first, as it could reference data in the other caches */
+       if (generic_method_cache)
+               g_hash_table_destroy (generic_method_cache);
        g_hash_table_destroy (type_cache);
        g_hash_table_destroy (generic_inst_cache);
        g_hash_table_destroy (generic_class_cache);
-       if (generic_method_cache)
-               g_hash_table_destroy (generic_method_cache);
        if (generic_signature_cache)
                g_hash_table_destroy (generic_signature_cache);
        type_cache = NULL;