diff --git a/init/job_process.c b/init/job_process.c index 1d825a53..281b56a2 100644 --- a/init/job_process.c +++ b/init/job_process.c @@ -1750,6 +1750,14 @@ job_process_terminated (Job *job, */ if (! state) job_change_goal (job, JOB_RESPAWN); + + /* job_next_state will return post-starting, + * but we want stopping so it will respawn + */ + if (job->state == JOB_SPAWNED) { + job_change_state (job, JOB_STOPPING); + state = FALSE; + } break; } }