chiark / gitweb /
unit: don't serialize job state, only unit state across switch-root
[elogind.git] / src / core / manager.c
index 7bd484be6cfc3797a4de9f56ea5cba059830fde7..27dc9f38e0ec0d80d9f7af11e98d144e03495adb 100644 (file)
@@ -590,7 +590,7 @@ static void manager_build_unit_path_cache(Manager *m) {
                         if (ignore_file(de->d_name))
                                 continue;
 
                         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;
                         if (!p) {
                                 r = -ENOMEM;
                                 goto fail;
@@ -1722,7 +1722,7 @@ int manager_open_serialization(Manager *m, FILE **_f) {
         return 0;
 }
 
         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;
         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);
 
                 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;
                 }
                         m->n_reloading --;
                         return r;
                 }
@@ -1899,7 +1899,7 @@ int manager_reload(Manager *m) {
                 goto finish;
         }
 
                 goto finish;
         }
 
-        r = manager_serialize(m, f, fds);
+        r = manager_serialize(m, f, fds, true);
         if (r < 0) {
                 m->n_reloading --;
                 goto finish;
         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 {
                         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;
                 if (!p) {
                         log_error("Out of memory");
                         return -ENOMEM;