summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko2018-03-28 18:42:54 +0200
committerDenys Vlasenko2018-03-28 18:42:54 +0200
commitd1b845706df2aa819babe74cb0b9b15c13da6b16 (patch)
tree137f631fdd7fef08cfbeb92d2dc21e0aefd9f319 /shell
parent9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d (diff)
downloadbusybox-d1b845706df2aa819babe74cb0b9b15c13da6b16.zip
busybox-d1b845706df2aa819babe74cb0b9b15c13da6b16.tar.gz
hush: add a FIXME comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/hush.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 012ec21..e6dd1bc 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -8173,6 +8173,12 @@ static NOINLINE int run_pipe(struct pipe *pi)
rcode = 1; /* exitcode if redir failed */
if (setup_redirects(command, &squirrel) == 0) {
debug_printf_exec(": run_list\n");
+//FIXME: we need to pass squirrel down into run_list()
+//for SH_STANDALONE case, or else this construct:
+// { find /proc/self/fd; true; } >FILE; cmd2
+//has no way of closing saved fd#1 for "find",
+//and in SH_STANDALONE mode, "find" is not execed,
+//therefore CLOEXEC on saved fd does not help.
rcode = run_list(command->group) & 0xff;
}
restore_redirects(squirrel);