summaryrefslogtreecommitdiff
path: root/shell/ash_doc.txt
diff options
context:
space:
mode:
authorDenis Vlasenko2008-02-10 19:02:53 +0000
committerDenis Vlasenko2008-02-10 19:02:53 +0000
commit991a1da14806eefd1c6fc8fc1c0c3d2b90af6f24 (patch)
tree4397962a82c1b4c161ee3b9af88943d64c5b993b /shell/ash_doc.txt
parent0ef240d979b0ffcad104a6844cee4c72640844f5 (diff)
downloadbusybox-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.txt31
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