X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fdomain.c;h=810d41197919ce7d0700169d2d080fced5c6db26;hb=3b2913ca03f284906f55606c9b36540890b7572a;hp=a498f9491f8412f9fa10bc0bf700d9c3826b0b14;hpb=41fced547f724e3eb19a7e4c6ac88b14e702e82c;p=mono.git diff --git a/mono/metadata/domain.c b/mono/metadata/domain.c index a498f9491f8..810d4119791 100644 --- a/mono/metadata/domain.c +++ b/mono/metadata/domain.c @@ -382,13 +382,7 @@ mono_domain_create (void) mono_appdomains_unlock (); #ifdef HAVE_BOEHM_GC - /* - * Boehm doesn't like roots inside GC allocated objects, and alloc_fixed returns - * a GC_MALLOC-ed object, contrary to the api docs. This causes random crashes when - * running the corlib test suite. - * To solve this, we pass a NULL descriptor, and don't register roots. - */ - domain = (MonoDomain *)mono_gc_alloc_fixed (sizeof (MonoDomain), NULL, MONO_ROOT_SOURCE_DOMAIN, "domain object"); + domain = (MonoDomain *)mono_gc_alloc_fixed (sizeof (MonoDomain), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "domain object"); #else domain = (MonoDomain *)mono_gc_alloc_fixed (sizeof (MonoDomain), domain_gc_desc, MONO_ROOT_SOURCE_DOMAIN, "domain object"); mono_gc_register_root ((char*)&(domain->MONO_DOMAIN_FIRST_GC_TRACKED), G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_LAST_GC_TRACKED) - G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_FIRST_GC_TRACKED), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "misc domain fields"); @@ -513,9 +507,6 @@ mono_init_internal (const char *filename, const char *exe_filename, const char * mono_reflection_init (); mono_runtime_init_tls (); - /* FIXME: When should we release this memory? */ - MONO_GC_REGISTER_ROOT_FIXED (appdomains_list, MONO_ROOT_SOURCE_DOMAIN, "domains list"); - domain = mono_domain_create (); mono_root_domain = domain;