diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-02-21 02:55:53 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-02-21 02:55:53 +0100 |
commit | 3ced804e3118d138781c3e4baa6bf1589b9f2dfd (patch) | |
tree | 963276adb3280dfa605725e20598afe566139f08 /shell/hush_test | |
parent | cc9ecd9af13f04a4814ebdec60942962c3e9f14f (diff) | |
download | busybox-w32-3ced804e3118d138781c3e4baa6bf1589b9f2dfd.tar.gz busybox-w32-3ced804e3118d138781c3e4baa6bf1589b9f2dfd.tar.bz2 busybox-w32-3ced804e3118d138781c3e4baa6bf1589b9f2dfd.zip |
hush: make "exit" in trap use pre-trap exitcode - fix for nested trap
function old new delta
check_and_run_traps 276 278 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/exitcode_trap6.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/exitcode_trap6.tests | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/exitcode_trap6.right b/shell/hush_test/hush-misc/exitcode_trap6.right new file mode 100644 index 000000000..b76c1908e --- /dev/null +++ b/shell/hush_test/hush-misc/exitcode_trap6.right | |||
@@ -0,0 +1,2 @@ | |||
1 | INT | ||
2 | 42:42 | ||
diff --git a/shell/hush_test/hush-misc/exitcode_trap6.tests b/shell/hush_test/hush-misc/exitcode_trap6.tests new file mode 100755 index 000000000..15fb99d2d --- /dev/null +++ b/shell/hush_test/hush-misc/exitcode_trap6.tests | |||
@@ -0,0 +1,11 @@ | |||
1 | # "exit" in trap should not use last command's exitcode, | ||
2 | # but exitcode on entering the trap. | ||
3 | # Nested trap should not interfere with this. | ||
4 | $THIS_SH -c ' | ||
5 | trap "echo INT" int | ||
6 | trap "kill -int $$;exit" term | ||
7 | kill $$ & | ||
8 | (exit 42) | ||
9 | wait | ||
10 | ' | ||
11 | echo 42:$? | ||