zero(sa);
sa.sa.sa_family = AF_UNIX;
- if (getpid() != 1)
+ if (getpid() != 1 || detect_container(NULL) > 0)
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%llu", random_ull());
else
strncpy(sa.un.sun_path, NOTIFY_SOCKET, sizeof(sa.un.sun_path));
}
if (asprintf(&message, "U\002%c%s%n", (int) (strlen(u->id) + 1), u->id, &n) < 0) {
- log_error("Out of memory");
+ log_oom();
goto finish;
}
return 0;
}
-int manager_serialize(Manager *m, FILE *f, FDSet *fds) {
+int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs) {
Iterator i;
Unit *u;
const char *t;
fputs(u->id, f);
fputc('\n', f);
- if ((r = unit_serialize(u, f, fds)) < 0) {
+ if ((r = unit_serialize(u, f, fds, serialize_jobs)) < 0) {
m->n_reloading --;
return r;
}
goto finish;
}
- r = manager_serialize(m, f, fds);
+ r = manager_serialize(m, f, fds, true);
if (r < 0) {
m->n_reloading --;
goto finish;
if (m->running_as == MANAGER_SYSTEM && getpid() == 1) {
p = strappend("/run/systemd/", name);
- if (!p) {
- log_error("Out of memory");
- return -ENOMEM;
- }
+ if (!p)
+ return log_oom();
r = mkdir_p_label(p, 0755);
if (r < 0) {
}
} else {
p = strjoin("/tmp/systemd-", name, ".XXXXXX", NULL);
- if (!p) {
- log_error("Out of memory");
- return -ENOMEM;
- }
+ if (!p)
+ return log_oom();
if (!mkdtemp(p)) {
free(p);