X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmanager.c;h=48305e373a5d8864f3bf06ff6f7c4328ac9b7d78;hb=31f92a7df427593532d221dd715e2e0a5b6f3a96;hp=f07d26e9cdc6f7c57795f1a9f22c854b3d598ea0;hpb=26a1efdf61b462d0fff440a558a96f5cd184920c;p=elogind.git diff --git a/src/core/manager.c b/src/core/manager.c index f07d26e9c..48305e373 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -96,7 +96,7 @@ static int manager_setup_notify(Manager *m) { 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)); @@ -590,7 +590,7 @@ static void manager_build_unit_path_cache(Manager *m) { if (ignore_file(de->d_name)) continue; - p = join(streq(*i, "/") ? "" : *i, "/", de->d_name, NULL); + p = strjoin(streq(*i, "/") ? "" : *i, "/", de->d_name, NULL); if (!p) { r = -ENOMEM; goto fail; @@ -796,7 +796,7 @@ int manager_load_unit_prepare(Manager *m, const char *name, const char *path, DB t = unit_name_to_type(name); - if (t == _UNIT_TYPE_INVALID || !unit_name_is_valid_no_type(name, false)) { + if (t == _UNIT_TYPE_INVALID || !unit_name_is_valid(name, false)) { dbus_set_error(e, BUS_ERROR_INVALID_NAME, "Unit name %s is not valid.", name); return -EINVAL; } @@ -1722,7 +1722,7 @@ int manager_open_serialization(Manager *m, FILE **_f) { 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; @@ -1759,7 +1759,7 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds) { 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; } @@ -1899,7 +1899,7 @@ int manager_reload(Manager *m) { goto finish; } - r = manager_serialize(m, f, fds); + r = manager_serialize(m, f, fds, true); if (r < 0) { m->n_reloading --; goto finish; @@ -2085,7 +2085,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name) return r; } } else { - p = join("/tmp/systemd-", name, ".XXXXXX", NULL); + p = strjoin("/tmp/systemd-", name, ".XXXXXX", NULL); if (!p) { log_error("Out of memory"); return -ENOMEM;