2003-12-17 Zoltan Varga <vargaz@freemail.hu>
authorZoltan Varga <vargaz@gmail.com>
Wed, 17 Dec 2003 12:13:47 +0000 (12:13 -0000)
committerZoltan Varga <vargaz@gmail.com>
Wed, 17 Dec 2003 12:13:47 +0000 (12:13 -0000)
* icall.c (ves_icall_System_Environment_get_HasShutdownStarted):
Reenable call to mono_runtime_is_shutting_down ().

* appdomain.c (mono_runtime_is_shutting_down): New helper function to
determine if the runtime is shutting down.

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

mono/metadata/ChangeLog
mono/metadata/appdomain.c
mono/metadata/appdomain.h
mono/metadata/icall.c

index 88ce4bbdacad61c48968fb8671b53113b23b7a82..2e0c2ad99e9cd4996a4ca846fdea884d7cc86642 100644 (file)
@@ -1,3 +1,11 @@
+2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
+
+       * icall.c (ves_icall_System_Environment_get_HasShutdownStarted): 
+       Reenable call to mono_runtime_is_shutting_down ().
+
+       * appdomain.c (mono_runtime_is_shutting_down): New helper function to
+       determine if the runtime is shutting down.
+
 2003-12-16  Jackson Harper <jackson@ximian.com>
 
        * icall.c: comment out call to mono_runtime_is_shutting_down to
index b5b5bc63502614e6f0c3de8a4272788fadbf471f..15986e6a506e849f0db5259b8df129eb5e032f78 100644 (file)
@@ -32,6 +32,8 @@ CRITICAL_SECTION mono_delegate_section;
 static gunichar2 process_guid [36];
 static gboolean process_guid_set = FALSE;
 
+static gboolean shutting_down = FALSE;
+
 static MonoAssembly *
 mono_domain_assembly_preload (MonoAssemblyName *aname,
                              gchar **assemblies_path,
@@ -148,6 +150,8 @@ mono_context_init (MonoDomain *domain)
 void
 mono_runtime_cleanup (MonoDomain *domain)
 {
+       shutting_down = TRUE;
+
        /* This ends up calling any pending pending (for at most 2 seconds) */
        mono_gc_cleanup ();
        
@@ -169,6 +173,12 @@ mono_runtime_quit ()
                quit_function (mono_root_domain, NULL);
 }
 
+gboolean
+mono_runtime_is_shutting_down (void)
+{
+       return shutting_down;
+}
+
 gboolean
 mono_domain_has_type_resolve (MonoDomain *domain)
 {
index 0a6b650bcccc315b32ba184ca90331d9dc0b5931..8c1d073eb7999a349b63abdd49c3e0ccd1d2d377 100644 (file)
@@ -154,6 +154,9 @@ mono_runtime_install_cleanup (MonoDomainFunc func);
 void
 mono_runtime_quit (void);
 
+gboolean
+mono_runtime_is_shutting_down (void);
+
 const char*
 mono_check_corlib_version (void);
 
index b540c1a7d0170f6b618ed56bc60ea98fbbaba3e2..eb31b93d71fe3a3104fa22a5a86ef092ae0b6237 100644 (file)
@@ -3969,10 +3969,8 @@ ves_icall_System_Text_Encoding_InternalCodePage (void)
 static MonoBoolean
 ves_icall_System_Environment_get_HasShutdownStarted (void)
 {
-       /*
        if (mono_runtime_is_shutting_down ())
                return TRUE;
-       */
 
        if (mono_domain_is_unloading (mono_domain_get ()))
                return TRUE;