summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-07-04 18:49:58 +0200
committerLennart Poettering <lennart@poettering.net>2010-07-04 18:49:58 +0200
commitb58b41160fde88a82cba1ddec4be7dfb08825e35 (patch)
tree9f5b30cf50bcaf752fc955507c5d065d214e0222 /src/service.c
parent14ad1d1437f51b8ebc8dc6e8d3707b41d48d0a3a (diff)
dbus: complete exec status coverage
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/service.c b/src/service.c
index 04ed684393..ae8a763e7c 100644
--- a/src/service.c
+++ b/src/service.c
@@ -144,6 +144,8 @@ static int service_set_main_pid(Service *s, pid_t pid) {
s->main_pid = pid;
s->main_pid_known = true;
+ exec_status_start(&s->main_exec_status, pid);
+
return 0;
}
@@ -2082,7 +2084,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
if (s->main_pid == pid) {
- exec_status_fill(&s->main_exec_status, pid, code, status);
+ exec_status_exit(&s->main_exec_status, pid, code, status);
s->main_pid = 0;
if (s->type != SERVICE_FORKING) {
@@ -2138,7 +2140,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
} else if (s->control_pid == pid) {
if (s->control_command)
- exec_status_fill(&s->control_command->exec_status, pid, code, status);
+ exec_status_exit(&s->control_command->exec_status, pid, code, status);
s->control_pid = 0;