Don't call g_get_home_dir() while holding the g_utils_global lock, simply
authorMatthias Clasen <maclas@gmx.de>
Mon, 23 Aug 2004 05:36:48 +0000 (05:36 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 23 Aug 2004 05:36:48 +0000 (05:36 +0000)
Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>

* glib/gutils.c (g_get_user_cache_dir):
* glib/gutils.c (g_get_user_config_dir):
* glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
while holding the g_utils_global lock, simply use g_home_dir.
(#150695, Jody Goldberg)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/gutils.c

index 77d73c4..b2be5de 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_user_cache_dir): 
+       * glib/gutils.c (g_get_user_config_dir): 
+       * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
+       while holding the g_utils_global lock, simply use g_home_dir. 
+       (#150695, Jody Goldberg)
+
 2004-08-21  Tor Lillqvist  <tml@iki.fi>
 
        * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
index 77d73c4..b2be5de 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_user_cache_dir): 
+       * glib/gutils.c (g_get_user_config_dir): 
+       * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
+       while holding the g_utils_global lock, simply use g_home_dir. 
+       (#150695, Jody Goldberg)
+
 2004-08-21  Tor Lillqvist  <tml@iki.fi>
 
        * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
index 77d73c4..b2be5de 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_user_cache_dir): 
+       * glib/gutils.c (g_get_user_config_dir): 
+       * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
+       while holding the g_utils_global lock, simply use g_home_dir. 
+       (#150695, Jody Goldberg)
+
 2004-08-21  Tor Lillqvist  <tml@iki.fi>
 
        * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
index 77d73c4..b2be5de 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_user_cache_dir): 
+       * glib/gutils.c (g_get_user_config_dir): 
+       * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
+       while holding the g_utils_global lock, simply use g_home_dir. 
+       (#150695, Jody Goldberg)
+
 2004-08-21  Tor Lillqvist  <tml@iki.fi>
 
        * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
index 77d73c4..b2be5de 100644 (file)
@@ -1,3 +1,11 @@
+Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_user_cache_dir): 
+       * glib/gutils.c (g_get_user_config_dir): 
+       * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
+       while holding the g_utils_global lock, simply use g_home_dir. 
+       (#150695, Jody Goldberg)
+
 2004-08-21  Tor Lillqvist  <tml@iki.fi>
 
        * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
index 9512b74..e46c048 100644 (file)
@@ -1274,8 +1274,13 @@ g_get_user_data_dir (void)
       if (data_dir && data_dir[0])
         data_dir = g_strdup (data_dir);
       else
-        data_dir = g_build_filename (g_get_home_dir (), ".local", 
-                                     "share", NULL);
+       {
+         if (!g_tmp_dir)
+           g_get_any_init ();
+
+         data_dir = g_build_filename (g_home_dir, ".local", 
+                                      "share", NULL);
+       }
 
       g_user_data_dir = data_dir;
     }
@@ -1315,7 +1320,12 @@ g_get_user_config_dir (void)
         if (config_dir && config_dir[0])
             config_dir = g_strdup (config_dir);
         else
-            config_dir = g_build_filename (g_get_home_dir (), ".config", NULL);
+         {
+           if (!g_tmp_dir)
+             g_get_any_init ();
+           
+            config_dir = g_build_filename (g_home_dir, ".config", NULL);
+         }
 
         g_user_config_dir = config_dir;
     }
@@ -1355,7 +1365,12 @@ g_get_user_cache_dir (void)
       if (cache_dir && cache_dir[0])
           cache_dir = g_strdup (cache_dir);
       else
-          cache_dir = g_build_filename (g_get_home_dir (), ".cache", NULL);
+       {
+         if (!g_tmp_dir)
+           g_get_any_init ();
+
+          cache_dir = g_build_filename (g_home_dir, ".cache", NULL);
+       }
       g_user_cache_dir = cache_dir;
     }
   else