core: consider service with no start command immediately started

The service would always be in state == SERVICE_INACTIVE, but it needs to go
through state == SERVICE_START so that SuccessAction/FailureAction are executed.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2018-10-16 22:45:34 +02:00
parent 1bcf3fc6c5
commit ef5ae8e713
1 changed files with 6 additions and 0 deletions

View File

@ -2024,6 +2024,12 @@ static void service_enter_start(Service *s) {
goto fail;
}
/* We force a fake state transition here. Otherwise, the unit would go directly from
* SERVICE_DEAD to SERVICE_DEAD without SERVICE_ACTIVATING or SERVICE_ACTIVE
* inbetween. This way we can later trigger actions that depend on the state
* transition, including SuccessAction=. */
service_set_state(s, SERVICE_START);
service_enter_start_post(s);
return;
}