diff options
author | Daniel Black <danielgb@au.ibm.com> | 2017-12-14 22:17:43 +1100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2017-12-14 12:17:43 +0100 |
commit | a327431bd168b2f327f3cd422379e213c643f2a5 (patch) | |
tree | 579e571140c7015f4d4d48d6e2a8558c097688ae /test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service | |
parent | Merge pull request #7625 from thom311/th/const-strlen (diff) | |
download | systemd-a327431bd168b2f327f3cd422379e213c643f2a5.tar.gz systemd-a327431bd168b2f327f3cd422379e213c643f2a5.tar.bz2 systemd-a327431bd168b2f327f3cd422379e213c643f2a5.zip |
core: add EXTEND_TIMEOUT_USEC={usec} - prevent timeouts in startup/runtime/shutdown (#7214)
With Type=notify services, EXTEND_TIMEOUT_USEC= messages will delay any startup/
runtime/shutdown timeouts.
A service that hasn't timed out, i.e, start time < TimeStartSec,
runtime < RuntimeMaxSec and stop time < TimeoutStopSec, may by sending
EXTEND_TIMEOUT_USEC=, allow the service to continue beyond the limit for
the execution phase (i.e TimeStartSec, RunTimeMaxSec and TimeoutStopSec).
EXTEND_TIMEOUT_USEC= must continue to be sent (in the same way as
WATCHDOG=1) within the time interval specified to continue to reprevent
the timeout from occuring.
Watchdog timeouts are also extended if a EXTEND_TIMEOUT_USEC is greater
than the remaining time on the watchdog counter.
Fixes #5868.
Diffstat (limited to 'test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service')
-rw-r--r-- | test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service b/test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service new file mode 100644 index 000000000..e0b9f6a70 --- /dev/null +++ b/test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service @@ -0,0 +1,13 @@ + +[Unit] +Description=Testsuite: Fail Runtime (EXTEND_TIMEOUT_USEC Didn't occur in sufficient time after RuntimeSecMax.) + +[Service] + +# EXTEND_TIMEOUT_USEC on runtime start (0) and 7 seconds after. Systemd will expect one at 7+5 (extend_timeout_interval) +# seconds this won't happen until 7 + 7 (sleep interval) seconds. Therefore timeout at 12 seconds. +Type=notify +TimeoutStartSec=4 +TimeoutStopSec=4 +RuntimeMaxSec=10 +ExecStart=/extend_timeout_test_service.sh SERVICE=fail_runtime extend_timeout_interval=5 sleep_interval=7 start_intervals=0 run_intervals=2 stop_intervals=0 |