diff options
Diffstat (limited to 'src/systemctl/systemctl.c')
-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 3cb5f61868..587793fb17 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3635,7 +3635,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")) @@ -3658,8 +3665,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")) |