diff options
author | Ryan Lortie <desrt@desrt.ca> | 2010-07-17 12:20:33 -0400 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2010-07-17 12:21:26 -0400 |
commit | bece1f7488e07c2d3f2c9b978ef0065a3ab1413f (patch) | |
tree | 5f12dd60af9475f0ba909a335e84d0dc28b64fd8 /service/dconf-writer.c | |
parent | 6eec812ad4a014b679e630aca5fc1917a1d2b665 (diff) | |
download | dconf-bece1f7488e07c2d3f2c9b978ef0065a3ab1413f.tar.gz |
Move shmdir guessing code to common/
Increase the intelligence of the algorithm: use ~/.cache/dconf as a
reasonable default if not on NFS.
The dconf engine now has a non-blocking startup when not on NFS.
Diffstat (limited to 'service/dconf-writer.c')
-rw-r--r-- | service/dconf-writer.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/service/dconf-writer.c b/service/dconf-writer.c index a165ed5..7f7ff7f 100644 --- a/service/dconf-writer.c +++ b/service/dconf-writer.c @@ -1,5 +1,6 @@ #include "dconf-writer.h" +#include "dconf-shmdir.h" #include "dconf-rebuilder.h" #include <unistd.h> @@ -158,9 +159,14 @@ dconf_writer_init (void) dconf_writer_db_dir, g_strerror (errno)); } - dconf_writer_shm_dir = g_build_filename (cache_dir, "dconf", NULL); + dconf_writer_shm_dir = dconf_shmdir_from_environment (); - if (g_mkdir_with_parents (dconf_writer_shm_dir, 0700)) - g_error ("Can not create directory '%s': %s", - dconf_writer_shm_dir, g_strerror (errno)); + if (dconf_writer_shm_dir == NULL) + { + dconf_writer_shm_dir = g_build_filename (cache_dir, "dconf", NULL); + + if (g_mkdir_with_parents (dconf_writer_shm_dir, 0700)) + g_error ("Can not create directory '%s': %s", + dconf_writer_shm_dir, g_strerror (errno)); + } } |