summaryrefslogtreecommitdiff
path: root/shell/README
diff options
context:
space:
mode:
authorDenis Vlasenko2007-05-03 22:45:39 +0000
committerDenis Vlasenko2007-05-03 22:45:39 +0000
commite725bfe6e01505f0480dd1bd357209d3a2e72bb7 (patch)
tree3e128376a43debb087230efdd9bd73fb7a7f3be0 /shell/README
parentf2fffd0014edff7f791fc2a5b27147bb0628d7e6 (diff)
downloadbusybox-e725bfe6e01505f0480dd1bd357209d3a2e72bb7.zip
busybox-e725bfe6e01505f0480dd1bd357209d3a2e72bb7.tar.gz
hush: fix "true | exit 3; echo $?" bug
Diffstat (limited to 'shell/README')
-rw-r--r--shell/README13
1 files changed, 13 insertions, 0 deletions
diff --git a/shell/README b/shell/README
index 40447ca..989587a 100644
--- a/shell/README
+++ b/shell/README
@@ -1,5 +1,18 @@
Various bits of what is known about busybox shells, in no particular order.
+2007-05-03
+hush: update on "sleep 1 | exit 3; echo $?" bug.
+parse_stream_outer() repeatedly calls parse_stream().
+parse_stream() is now fixed to stop on ';' in this example,
+fixing it (parse_stream_outer() will call parse_stream() 1st time,
+execute the parse tree, call parse_stream() 2nd time and execute the tree).
+But it's not the end of story.
+In more complex situations we _must_ parse way farther before executing.
+Example #2: "{ sleep 1 | exit 3; echo $?; ...few_lines... } >file".
+Because of redirection, we cannot execute 1st pipe before we parse it all.
+We probably need to learn to store $var expressions in parse tree.
+Debug printing of parse tree would be nice too.
+
2007-04-28
hush: Ctrl-C and Ctrl-Z for single NOFORK commands are working.
Memory and other resource leaks (opendir) are not addressed