mirror of
https://github.com/systemd/systemd.git
synced 2025-01-27 18:04:05 +03:00
core: get rid of unused Service.will_auto_restart logic
The announced new behavior for OnFailure= never worked properly, and we've fixed the document instead in #27675. Therefore, let's get rid of the unused logic completely. More at #27594. The to-be-added RestartMode= option should cover the use case hopefully. Closes #27594
This commit is contained in:
parent
0de4bf409c
commit
49b34f75e7
@ -1946,8 +1946,6 @@ static bool service_will_restart(Unit *u) {
|
||||
|
||||
assert(s);
|
||||
|
||||
if (s->will_auto_restart)
|
||||
return true;
|
||||
if (IN_SET(s->state, SERVICE_DEAD_BEFORE_AUTO_RESTART, SERVICE_FAILED_BEFORE_AUTO_RESTART, SERVICE_AUTO_RESTART))
|
||||
return true;
|
||||
|
||||
@ -1993,19 +1991,14 @@ static void service_enter_dead(Service *s, ServiceResult f, bool allow_restart)
|
||||
log_unit_debug(UNIT(s), "Service restart not allowed.");
|
||||
else {
|
||||
const char *reason;
|
||||
bool shall_restart;
|
||||
|
||||
shall_restart = service_shall_restart(s, &reason);
|
||||
allow_restart = service_shall_restart(s, &reason);
|
||||
log_unit_debug(UNIT(s), "Service will %srestart (%s)",
|
||||
shall_restart ? "" : "not ",
|
||||
allow_restart ? "" : "not ",
|
||||
reason);
|
||||
if (shall_restart)
|
||||
s->will_auto_restart = true;
|
||||
}
|
||||
|
||||
if (s->will_auto_restart) {
|
||||
s->will_auto_restart = false;
|
||||
|
||||
if (allow_restart) {
|
||||
/* We make two state changes here: one that maps to the high-level UNIT_INACTIVE/UNIT_FAILED
|
||||
* state (i.e. a state indicating deactivation), and then one that that maps to the
|
||||
* high-level UNIT_STARTING state (i.e. a state indicating activation). We do this so that
|
||||
|
@ -181,8 +181,6 @@ struct Service {
|
||||
bool main_pid_alien:1;
|
||||
bool bus_name_good:1;
|
||||
bool forbid_restart:1;
|
||||
/* Keep restart intention between UNIT_FAILED and UNIT_ACTIVATING */
|
||||
bool will_auto_restart:1;
|
||||
bool start_timeout_defined:1;
|
||||
bool exec_fd_hot:1;
|
||||
|
||||
|
@ -2777,9 +2777,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, UnitNotifyFlag
|
||||
|
||||
if (ns != os && ns == UNIT_FAILED) {
|
||||
log_unit_debug(u, "Unit entered failed state.");
|
||||
|
||||
if (!(flags & UNIT_NOTIFY_WILL_AUTO_RESTART))
|
||||
unit_start_on_failure(u, "OnFailure=", UNIT_ATOM_ON_FAILURE, u->on_failure_job_mode);
|
||||
unit_start_on_failure(u, "OnFailure=", UNIT_ATOM_ON_FAILURE, u->on_failure_job_mode);
|
||||
}
|
||||
|
||||
if (UNIT_IS_ACTIVE_OR_RELOADING(ns) && !UNIT_IS_ACTIVE_OR_RELOADING(os)) {
|
||||
@ -2796,8 +2794,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, UnitNotifyFlag
|
||||
unit_log_resources(u);
|
||||
}
|
||||
|
||||
if (ns == UNIT_INACTIVE && !IN_SET(os, UNIT_FAILED, UNIT_INACTIVE, UNIT_MAINTENANCE) &&
|
||||
!(flags & UNIT_NOTIFY_WILL_AUTO_RESTART))
|
||||
if (ns == UNIT_INACTIVE && !IN_SET(os, UNIT_FAILED, UNIT_INACTIVE, UNIT_MAINTENANCE))
|
||||
unit_start_on_failure(u, "OnSuccess=", UNIT_ATOM_ON_SUCCESS, u->on_success_job_mode);
|
||||
}
|
||||
|
||||
|
@ -904,7 +904,6 @@ void unit_notify_cgroup_oom(Unit *u, bool managed_oom);
|
||||
|
||||
typedef enum UnitNotifyFlags {
|
||||
UNIT_NOTIFY_RELOAD_FAILURE = 1 << 0,
|
||||
UNIT_NOTIFY_WILL_AUTO_RESTART = 1 << 1,
|
||||
} UnitNotifyFlags;
|
||||
|
||||
void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, UnitNotifyFlags flags);
|
||||
|
Loading…
x
Reference in New Issue
Block a user