diff options
author | Denis Vlasenko | 2007-05-03 22:45:39 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-05-03 22:45:39 +0000 |
commit | e725bfe6e01505f0480dd1bd357209d3a2e72bb7 (patch) | |
tree | 3e128376a43debb087230efdd9bd73fb7a7f3be0 /shell/README | |
parent | f2fffd0014edff7f791fc2a5b27147bb0628d7e6 (diff) | |
download | busybox-e725bfe6e01505f0480dd1bd357209d3a2e72bb7.zip busybox-e725bfe6e01505f0480dd1bd357209d3a2e72bb7.tar.gz |
hush: fix "true | exit 3; echo $?" bug
Diffstat (limited to 'shell/README')
-rw-r--r-- | shell/README | 13 |
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 |