diff options
-rw-r--r-- | src/systemctl/systemctl.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 1a9dbadbe1..3cd267ec5a 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3608,7 +3608,14 @@ static int status_property(const char *name, sd_bus_message *m, UnitStatusInfo * if (r < 0) return bus_log_parse_error(r); - if (!isempty(s)) { + if (streq(name, "ControlGroup")) + i->control_group = s; + else if (!isempty(s)) { + /* For all but the cgroup path (see above) we + * consider the empty string as unset. For the + * cgroup path the empty string refers to the + * root of the cgroup tree. */ + if (streq(name, "Id")) i->id = s; else if (streq(name, "LoadState")) @@ -3631,8 +3638,6 @@ static int status_property(const char *name, sd_bus_message *m, UnitStatusInfo * i->control_group = e; } #endif - else if (streq(name, "ControlGroup")) - i->control_group = s; else if (streq(name, "StatusText")) i->status_text = s; else if (streq(name, "PIDFile")) |