From 4fe8b900a79006070baaf2815a5c3b06e01a6a7a Mon Sep 17 00:00:00 2001 From: Rodrigo Kumpera Date: Tue, 15 Aug 2017 14:32:38 -0700 Subject: [PATCH] [verifier] Avoid double init of metadata when using pedump. This is a workaround for the larger problem of it using a non-standard init sequence. Tracked as https://bugzilla.xamarin.com/show_bug.cgi?id=58793 --- mono/metadata/metadata.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mono/metadata/metadata.c b/mono/metadata/metadata.c index b41dbf4e818..0ba52ce0b73 100644 --- a/mono/metadata/metadata.c +++ b/mono/metadata/metadata.c @@ -1641,6 +1641,16 @@ mono_metadata_init (void) { int i; + /* We guard against double initialization due to how pedump in verification mode works. + Until runtime initialization is properly factored to work with what it needs we need workarounds like this. + FIXME: https://bugzilla.xamarin.com/show_bug.cgi?id=58793 + */ + static gboolean inited; + + if (inited) + return; + inited = TRUE; + type_cache = g_hash_table_new (mono_type_hash, mono_type_equal); for (i = 0; i < NBUILTIN_TYPES (); ++i) -- 2.25.1