diff options
author | Ángel González <keisial@gmail.com> | 2012-10-29 00:36:08 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2012-11-04 01:48:14 +0000 |
commit | de2397fece839ce90f71e0624f5435755ad9ea01 (patch) | |
tree | 7fec66140c170279fa0de51e1ae747fa5a0a9ad3 /tests/misc | |
parent | 8096ec664173f243e045be065203e6ad1aa1fa75 (diff) | |
download | coreutils-de2397fece839ce90f71e0624f5435755ad9ea01.tar.xz |
timeout: add --preserve-status to always propagate the exit status
It's useful for commands that support running for an indeterminite
amount of time, to not return a specific timeout exit status (124),
and instead let the command handle the timeout signal and return
a status for the work done so far.
* doc/coreutils.texi (timeout invocation): Describe the new option.
* src/timeout.c (preserve_status): A new global boolean to
enable the --preserve-status behavior.
(usage): Describe the new option.
(main): Don't return EXIT_TIMEOUT of preserve_status is set.
* tests/misc/timeout.sh: Add a test for the new option.
Diffstat (limited to 'tests/misc')
-rwxr-xr-x | tests/misc/timeout.sh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/misc/timeout.sh b/tests/misc/timeout.sh index 57a4e15d0..66d69566e 100755 --- a/tests/misc/timeout.sh +++ b/tests/misc/timeout.sh @@ -36,6 +36,11 @@ test $? = 2 || fail=1 timeout 1 sleep 10 test $? = 124 || fail=1 +# exit status propagation even on timeout +timeout --preserve-status 1 sleep 10 +# exit status should be 128+TERM +test $? = 124 && fail=1 + # kill delay. Note once the initial timeout triggers, # the exit status will be 124 even if the command # exits on its own accord. |