summaryrefslogtreecommitdiff
path: root/service/dconf-writer.c
diff options
context:
space:
mode:
Diffstat (limited to 'service/dconf-writer.c')
-rw-r--r--service/dconf-writer.c14
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));
+ }
}