exit-status: kill is_clean_exit_lsb(), move logic to sysv-generator

Let's get rid of is_clean_exit_lsb(), let's move the logic for the special
handling of the two LSB exit codes into the sysv-generator by writing out
appropriate SuccessExitStatus= lines if the LSB header exists. This is not only
semantically more correct, bug also fixes a bug as the code in service.c that
chose between is_clean_exit_lsb() and is_clean_exit() based this check on
whether a native unit files was available for the unit. However, that check was
bogus since a long time, since the SysV generator was introduced and native
SysV script support was removed from PID 1, as in that case a unit file always
existed.
This commit is contained in:
Lennart Poettering
2016-10-10 21:48:08 +02:00
parent 3b8769bda8
commit 41e2036eb8
5 changed files with 10 additions and 14 deletions
+1 -1
View File
@@ -3936,7 +3936,7 @@ static void print_status_info(
argv = strv_join(p->argv, " ");
printf(" Process: "PID_FMT" %s=%s ", p->pid, p->name, strna(argv));
good = is_clean_exit_lsb(p->code, p->status, NULL);
good = is_clean_exit(p->code, p->status, NULL);
if (!good) {
on = ansi_highlight_red();
off = ansi_normal();