mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-27 13:57:26 +03:00
service: Implement 'on-watchdog' restart option
Services using the watchdog option might want to be restarted only if the watchdog triggers.
This commit is contained in:
parent
00a1686189
commit
dc99a97644
@ -618,6 +618,7 @@
|
||||
<option>no</option>,
|
||||
<option>on-success</option>,
|
||||
<option>on-failure</option>,
|
||||
<option>on-watchdog</option>,
|
||||
<option>on-abort</option>, or
|
||||
<option>always</option>. If set to
|
||||
<option>no</option> (the default) the
|
||||
@ -644,6 +645,10 @@
|
||||
signal not specified as a clean exit
|
||||
status.
|
||||
If set to
|
||||
<option>on-watchdog</option> the service
|
||||
will be restarted only if the watchdog
|
||||
timeout for the service expires.
|
||||
If set to
|
||||
<option>always</option> the service
|
||||
will be restarted regardless whether
|
||||
it exited cleanly or not, got
|
||||
|
@ -1937,6 +1937,7 @@ static void service_enter_dead(Service *s, ServiceResult f, bool allow_restart)
|
||||
(s->restart == SERVICE_RESTART_ALWAYS ||
|
||||
(s->restart == SERVICE_RESTART_ON_SUCCESS && s->result == SERVICE_SUCCESS) ||
|
||||
(s->restart == SERVICE_RESTART_ON_FAILURE && s->result != SERVICE_SUCCESS) ||
|
||||
(s->restart == SERVICE_RESTART_ON_WATCHDOG && s->result == SERVICE_FAILURE_WATCHDOG) ||
|
||||
(s->restart == SERVICE_RESTART_ON_ABORT && (s->result == SERVICE_FAILURE_SIGNAL ||
|
||||
s->result == SERVICE_FAILURE_CORE_DUMP))) &&
|
||||
(s->result != SERVICE_FAILURE_EXIT_CODE ||
|
||||
@ -3791,6 +3792,7 @@ static const char* const service_restart_table[_SERVICE_RESTART_MAX] = {
|
||||
[SERVICE_RESTART_NO] = "no",
|
||||
[SERVICE_RESTART_ON_SUCCESS] = "on-success",
|
||||
[SERVICE_RESTART_ON_FAILURE] = "on-failure",
|
||||
[SERVICE_RESTART_ON_WATCHDOG] = "on-watchdog",
|
||||
[SERVICE_RESTART_ON_ABORT] = "on-abort",
|
||||
[SERVICE_RESTART_ALWAYS] = "always"
|
||||
};
|
||||
|
@ -54,6 +54,7 @@ typedef enum ServiceRestart {
|
||||
SERVICE_RESTART_NO,
|
||||
SERVICE_RESTART_ON_SUCCESS,
|
||||
SERVICE_RESTART_ON_FAILURE,
|
||||
SERVICE_RESTART_ON_WATCHDOG,
|
||||
SERVICE_RESTART_ON_ABORT,
|
||||
SERVICE_RESTART_ALWAYS,
|
||||
_SERVICE_RESTART_MAX,
|
||||
|
Loading…
x
Reference in New Issue
Block a user