diff options
author | Denys Vlasenko | 2010-09-25 17:15:13 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-09-25 17:15:13 +0200 |
commit | b563f62bbb1c9a6d931924f8fd7c3e52bb3d5875 (patch) | |
tree | 617e5a8de03257f9695fd10a496601c607f6803d /shell/ash_test/ash-signals/signal9.tests | |
parent | 5b3151c201f4a67e998ec054d653e8177679d505 (diff) | |
download | busybox-b563f62bbb1c9a6d931924f8fd7c3e52bb3d5875.zip busybox-b563f62bbb1c9a6d931924f8fd7c3e52bb3d5875.tar.gz |
ash: fix signal and "set -e" interaction
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-signals/signal9.tests')
-rwxr-xr-x | shell/ash_test/ash-signals/signal9.tests | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/shell/ash_test/ash-signals/signal9.tests b/shell/ash_test/ash-signals/signal9.tests new file mode 100755 index 0000000..18e7101 --- /dev/null +++ b/shell/ash_test/ash-signals/signal9.tests @@ -0,0 +1,21 @@ +# Note: the inner script is a test which checks for a different bug +# (ordering between INT handler and exit on "set -e"), +# but so far I did not figure out how to simulate it non-interactively. + +"$THIS_SH" -c ' +exit_func() { + echo "Removing traps" + trap - EXIT TERM INT + echo "End of exit_func" +} +set -e +trap exit_func EXIT TERM INT +sleep 2 +exit 77 +' & + +child=$! +sleep 1 +kill -TERM $child +wait +echo Done: $? |