core: --user -- move generator directories from /tmp to $XDG_RUNTIME_DIR

This commit is contained in:
Kay Sievers 2014-01-06 07:50:26 +04:00
parent 734624951b
commit fcc81ea361
1 changed files with 20 additions and 0 deletions

View File

@ -2507,11 +2507,29 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
return 0;
if (m->running_as == SYSTEMD_SYSTEM && getpid() == 1) {
/* systemd --system, not running --test */
p = strappend("/run/systemd/", name);
if (!p)
return log_oom();
r = mkdir_p_label(p, 0755);
if (r < 0) {
log_error("Failed to create generator directory %s: %s",
p, strerror(-r));
free(p);
return r;
}
} else if (m->running_as == SYSTEMD_USER) {
const char *s = NULL;
s = getenv("XDG_RUNTIME_DIR");
if (!s)
return -EINVAL;
p = strjoin(s, "/systemd/", name, NULL);
if (!p)
return log_oom();
r = mkdir_p_label(p, 0755);
if (r < 0) {
log_error("Failed to create generator directory %s: %s",
@ -2520,6 +2538,8 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
return r;
}
} else {
/* systemd --system --test */
p = strjoin("/tmp/systemd-", name, ".XXXXXX", NULL);
if (!p)
return log_oom();