2009-01-21 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Wed, 21 Jan 2009 17:51:39 +0000 (17:51 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Wed, 21 Jan 2009 17:51:39 +0000 (17:51 -0000)
* appdomain.c (mono_domain_unload): Change the InterlockedIncrement to
a plain store.

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

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

index 1f5534143d6853dc4899bd80a8c2fe2706914880..7f031ed143d57661688e4049851251c622fe565d 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-21 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * appdomain.c (mono_domain_unload): Change the InterlockedIncrement to
+       a plain store.
+
 2009-01-21  Zoltan Varga  <vargaz@gmail.com>
 
        * class.c (mono_class_setup_vtable_general): In the generic instance
index 5b53274e272eb32da3f2d41b3765f00242366723..0d765da703fd713d06b1d0021f13f502b210c31d 100644 (file)
@@ -2040,8 +2040,8 @@ mono_domain_unload (MonoDomain *domain)
        thread_data.domain = domain;
        thread_data.failure_reason = NULL;
 
-       /*Move from unloading_start to unloading. Now no new TP jobs are going to be accepted.*/
-       InterlockedIncrement ((gint32*)&domain->state);
+       /*The managed callback finished successfully, now we start tearing down the appdomain*/
+       domain->state = MONO_APPDOMAIN_UNLOADING;
        /* 
         * First we create a separate thread for unloading, since
         * we might have to abort some threads, including the current one.