summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-03-28 18:42:54 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-03-28 18:42:54 +0200
commitd1b845706df2aa819babe74cb0b9b15c13da6b16 (patch)
tree137f631fdd7fef08cfbeb92d2dc21e0aefd9f319
parent9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d (diff)
hush: add a FIXME comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 012ec219f..e6dd1bc3d 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);