aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <danielgb@au.ibm.com>2017-12-14 22:17:43 +1100
committerLennart Poettering <lennart@poettering.net>2017-12-14 12:17:43 +0100
commita327431bd168b2f327f3cd422379e213c643f2a5 (patch)
tree579e571140c7015f4d4d48d6e2a8558c097688ae /test/TEST-16-EXTEND-TIMEOUT/testsuite-fail-runtime.service
parentMerge pull request #7625 from thom311/th/const-strlen (diff)
downloadsystemd-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.service13
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