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-17 19:28:16 +02:00
parent 1bcf3fc6c5
commit ef5ae8e713
+6
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;
}