]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/core/manager.c
core: serialize and deserialize current ShowStatus
[thirdparty/systemd.git] / src / core / manager.c
index c819dd10690038383c58c10d63b44b973c0bc826..1d177008e5e7e6d0855d090a2e292216f527e7f8 100644 (file)
@@ -3016,6 +3016,10 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
         fprintf(f, "taint-logged=%s\n", yes_no(m->taint_logged));
         fprintf(f, "service-watchdogs=%s\n", yes_no(m->service_watchdogs));
 
+        t = show_status_to_string(m->show_status);
+        if (t)
+                fprintf(f, "show-status=%s\n", t);
+
         if (m->log_level_overridden)
                 fprintf(f, "log-level-override=%i\n", log_get_max_level());
         if (m->log_target_overridden)
@@ -3205,6 +3209,15 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
                         else
                                 m->service_watchdogs = b;
 
+                } else if ((val = startswith(l, "show-status="))) {
+                        ShowStatus s;
+
+                        s = show_status_from_string(val);
+                        if (s < 0)
+                                log_notice("Failed to parse show-status flag %s", val);
+                        else
+                                manager_set_show_status(m, s);
+
                 } else if ((val = startswith(l, "log-level-override="))) {
                         int level;