From 3ced804e3118d138781c3e4baa6bf1589b9f2dfd Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 21 Feb 2020 02:55:53 +0100 Subject: 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 --- shell/hush_test/hush-misc/exitcode_trap6.right | 2 ++ shell/hush_test/hush-misc/exitcode_trap6.tests | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 shell/hush_test/hush-misc/exitcode_trap6.right create mode 100755 shell/hush_test/hush-misc/exitcode_trap6.tests (limited to 'shell/hush_test') 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 @@ +INT +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 @@ +# "exit" in trap should not use last command's exitcode, +# but exitcode on entering the trap. +# Nested trap should not interfere with this. +$THIS_SH -c ' + trap "echo INT" int + trap "kill -int $$;exit" term + kill $$ & + (exit 42) + wait +' +echo 42:$? -- cgit v1.2.3