From: Zbigniew Jędrzejewski-Szmek Date: Tue, 16 Oct 2018 20:45:34 +0000 (+0200) Subject: core: consider service with no start command immediately started X-Git-Tag: v240~530^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef5ae8e71329e43c277e6d4f983f0c0793047b94;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/core/service.c b/src/core/service.c index 3d065bf487c..5472e1a908d 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -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; }