aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-07-11 17:31:42 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-07-11 17:56:07 +0200
commit5ac881fc974222d7416507ad36e13e1a811fe22e (patch)
tree884c9471670c0f6e9fa80a7f973de0da2d72809b
parentbb4cd6174006925a71baf6596b32e2d1dec26171 (diff)
Don't list terminated processesdab_3.99.3dab/3.99.33.99.3
Listing processes that are terminated might be disturbing. So it is now removed. In some future, it should be good to return on option even terminated processes with an indication of their termination status. Bug-AGL: SPEC-728 Change-Id: I89bff7f880e6a5717c1572e3ee80cfe7dec8e594 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-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: