aboutsummaryrefslogtreecommitdiff
path: root/src/progman.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/progman.c')
-rw-r--r--src/progman.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/progman.c b/src/progman.c
index 15b8c44..97216b8 100644
--- a/src/progman.c
+++ b/src/progman.c
@@ -1389,12 +1389,15 @@ prog_start (struct prog *prog)
disable_socket (prog->v.p.socket);
}
else if (prog->v.p.comp->mode == pies_comp_accept ||
prog->v.p.comp->mode == pies_comp_inetd ||
prog->v.p.comp->mode == pies_comp_pass_fd)
close (prog->v.p.socket);
+ else if (is_sysvinit (prog->v.p.comp))
+ sysvinit_acct (SYSV_ACCT_PROC_START, "", prog->tag, pid, "");
+
prog->pid = pid;
prog->v.p.status = status_enabled;
debug (1, (_("%s started, pid=%lu"), prog->tag, (unsigned long) pid));
}
}
@@ -2489,16 +2492,20 @@ progman_cleanup (int expect_term)
react (listener, status, pid);
if (listener->v.p.comp->flags & CF_WAIT)
enable_socket (listener->v.p.socket);
}
else if (prog->v.p.comp->mode >= pies_mark_sysvinit)
{
+ sysvinit_acct (SYSV_ACCT_PROC_STOP, "", prog->tag, pid, "");
prog->v.p.status = status_finished;
}
else
{
+ if (is_sysvinit (prog->v.p.comp))
+ sysvinit_acct (SYSV_ACCT_PROC_STOP, "", prog->tag, pid, "");
+
prog->v.p.status = status_enabled;
prog_stop_dependents (prog);
if (!expect_term)
react (prog, status, pid);
}
break;

Return to:

Send suggestions and report system problems to the System administrator.