summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/afm-urun.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/afm-urun.c b/src/afm-urun.c
index d6185c8..1814437 100644
--- a/src/afm-urun.c
+++ b/src/afm-urun.c
@@ -290,10 +290,12 @@ struct json_object *afm_urun_list(struct afm_udb *db)
pid = systemd_unit_pid_of_dpath(isuser, udpath);
if (pid > 0 && j_read_string_at(appli, "id", &id)) {
state = systemd_unit_state_of_dpath(isuser, udpath);
- desc = mkstate(id, pid, pid, state);
- if (desc && json_object_array_add(result, desc) == -1) {
- ERROR("can't add desc %s to result", json_object_get_string(desc));
- json_object_put(desc);
+ if (state == SysD_State_Active) {
+ desc = mkstate(id, pid, pid, state);
+ if (desc && json_object_array_add(result, desc) == -1) {
+ ERROR("can't add desc %s to result", json_object_get_string(desc));
+ json_object_put(desc);
+ }
}
}
}
@@ -325,7 +327,6 @@ struct json_object *afm_urun_state(struct afm_udb *db, int runid)
/* get the dpath */
dpath = systemd_unit_dpath_by_pid(1 /* TODO: isuser? */, (unsigned)runid);
if (!dpath) {
- result = NULL;
errno = EINVAL;
WARNING("searched runid %d not found", runid);
} else {
@@ -340,11 +341,11 @@ struct json_object *afm_urun_state(struct afm_udb *db, int runid)
&& j_read_string_at(appli, "id", &id)) {
pid = systemd_unit_pid_of_dpath(isuser, udpath);
state = systemd_unit_state_of_dpath(isuser, dpath);
- result = mkstate(id, runid, pid, state);
+ if (state == SysD_State_Active)
+ result = mkstate(id, runid, pid, state);
goto end;
}
}
- result = NULL;
errno = ENOENT;
WARNING("searched runid %d of dpath %s isn't an applications", runid, dpath);
end: