Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37877155
en ru br
Репозитории ALT
S:3.2.6-alt4
5.1: 2.26.2-alt3.1
4.1: 2.22.0-alt1
4.0: 2.16.1-alt1
3.0: 1.0.9-alt7.1
www.altlinux.org/Changes

Группа :: Графические оболочки/GNOME
Пакет: GConf

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: GConf-1.0.9-mdk-locallock.patch
Скачать


--- GConf-1.0.9/gconf/gconf-internals.c.locallock	2003-10-15 14:47:31.000000000 +0200
+++ GConf-1.0.9/gconf/gconf-internals.c	2003-10-28 15:40:15.000000000 +0100
@@ -2957,10 +2957,53 @@
     }
 }
 
+enum { UNKNOWN, LOCAL, NORMAL };
+
+
+static gboolean
+gconf_use_local_locks (void)
+{
+  static int local_locks = UNKNOWN;
+   
+  if (local_locks == UNKNOWN)
+    {
+      const char *l =
+        g_getenv ("GCONF_GLOBAL_LOCKS");
+ 
+      if (l && atoi (l) == 1)
+        local_locks = NORMAL;
+      else
+        local_locks = LOCAL;
+    }
+ 
+  return local_locks == LOCAL;
+}
+
 char*
 gconf_get_daemon_dir (void)
 {
-  return g_strconcat (g_get_home_dir (), "/.gconfd", NULL);
+  if (gconf_use_local_locks ())
+    {
+      char *s;
+      char *subdir;
+      char *tmpdir;
+  
+      subdir = g_strconcat ("gconfd-", g_get_user_name (), NULL);
+        
+      if (g_getenv ("GCONF_TMPDIR")) {
+       tmpdir = g_getenv ("GCONF_TMPDIR");
+      } else {
+       tmpdir = g_get_tmp_dir ();
+      }
+
+      s = g_strconcat (tmpdir,"/", subdir, NULL);
+      
+      g_free (subdir);
+  
+      return s;
+  }
+  else
+    return g_strconcat (g_get_home_dir (), "/.gconfd", NULL);
 }
 
 char*
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin