diff options
author | Denis Vlasenko | 2008-02-10 19:02:53 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-02-10 19:02:53 +0000 |
commit | 991a1da14806eefd1c6fc8fc1c0c3d2b90af6f24 (patch) | |
tree | 4397962a82c1b4c161ee3b9af88943d64c5b993b /shell/ash_doc.txt | |
parent | 0ef240d979b0ffcad104a6844cee4c72640844f5 (diff) | |
download | busybox-991a1da14806eefd1c6fc8fc1c0c3d2b90af6f24.zip busybox-991a1da14806eefd1c6fc8fc1c0c3d2b90af6f24.tar.gz |
ash: fix "orwell bug" 1984. Testcase:
trap_handler() {
echo trap
}
trap trap_handler USR1
sleep 3600 &
while true; do wait; done
Diffstat (limited to 'shell/ash_doc.txt')
-rw-r--r-- | shell/ash_doc.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/shell/ash_doc.txt b/shell/ash_doc.txt new file mode 100644 index 0000000..28c5748 --- /dev/null +++ b/shell/ash_doc.txt @@ -0,0 +1,31 @@ + Wait + signals + +We had some bugs here which are hard to test in testsuite. + +Bug 1280 (http://busybox.net/bugs/view.php?id=1280): +was misbehaving in interactive ash. Correct behavior: + +$ sleep 20 & +$ wait +^C +$ wait +^C +$ wait +^C +... + +Bug 1984 (http://busybox.net/bugs/view.php?id=1984): +traps were not triggering: + +trap_handler_usr () { + echo trap usr +} +trap_handler_int () { + echo trap int +} +trap trap_handler_usr USR1 +trap trap_handler_int INT +sleep 3600 & +echo "Please do: kill -USR1 $$" +echo "or: kill -INT $$" +while true; do wait; echo wait interrupted; done |