From: Mike Yuan Date: Sat, 2 Mar 2024 13:22:51 +0000 (+0800) Subject: core/service: don't transition to start-post on cgroup empty event X-Git-Tag: v256-rc1~618^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F31592%2Fhead;p=thirdparty%2Fsystemd.git core/service: don't transition to start-post on cgroup empty event with ExitType=cgroup It's not clear to me what the rationale of the logic was when ExitType=cgroup got introduced. But similar to the previous commit, I think we should not transition to 'start-post' on cgroup empty event. This is especially important for Type=dbus/notify services. --- diff --git a/src/core/service.c b/src/core/service.c index a2a8e4af697..a9047be1caf 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -3604,8 +3604,10 @@ static void service_notify_cgroup_empty_event(Unit *u) { break; } - if (s->exit_type == SERVICE_EXIT_CGROUP && main_pid_good(s) <= 0) - service_enter_start_post(s); + if (s->exit_type == SERVICE_EXIT_CGROUP && main_pid_good(s) <= 0) { + service_enter_stop_post(s, SERVICE_SUCCESS); + break; + } _fallthrough_; case SERVICE_START_POST: