unit: don't cancel dependent jobs if a stopped daemon returned an error code
This commit is contained in:
@@ -484,7 +484,7 @@ int job_finish_and_invalidate(Job *j, bool success) {
|
||||
job_free(j);
|
||||
|
||||
if (!success)
|
||||
unit_status_printf(u, "Starting %s... " ANSI_HIGHLIGHT_ON "failed" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u));
|
||||
unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "failed" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u));
|
||||
|
||||
/* Fail depending jobs on failure */
|
||||
if (!success) {
|
||||
|
||||
+1
-3
@@ -1020,10 +1020,8 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns) {
|
||||
case JOB_RESTART:
|
||||
case JOB_TRY_RESTART:
|
||||
|
||||
if (ns == UNIT_INACTIVE)
|
||||
if (ns == UNIT_INACTIVE || ns == UNIT_MAINTENANCE)
|
||||
job_finish_and_invalidate(u->meta.job, true);
|
||||
else if (ns == UNIT_MAINTENANCE)
|
||||
job_finish_and_invalidate(u->meta.job, false);
|
||||
else if (u->meta.job->state == JOB_RUNNING && ns != UNIT_DEACTIVATING) {
|
||||
unexpected = true;
|
||||
job_finish_and_invalidate(u->meta.job, false);
|
||||
|
||||
Reference in New Issue
Block a user