← Commit list

50b8b2914

Denys Vlasenko
Denys Vlasenko
2017-07-06
SUCCESS Duration: 142s

Subject

hush: add a TODO about redir3.tests failure

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+4 -0
@@ -7723,6 +7723,10 @@ static NOINLINE int run_pipe(struct pipe *pi)
unset_vars(new_env);
add_vars(old_vars);
/* clean_up_and_ret0: */
+
+//FIXME: this restores stdio fds, but does not close other redirects!
+//Example: after "echo TEST 9>/dev/null" fd#9 is not closed!
+//The squirreling code needs rework to remember all fds, not just 0,1,2.
restore_redirects(squirrel);
clean_up_and_ret1:
free(argv_expanded);
shell/hush_test/hush-redir/redir3.right+3 -0
@@ -0,0 +1,3 @@
+TEST
+./redir3.tests: line 4: 9: Bad file descriptor
+Output to fd#9: 1
shell/hush_test/hush-redir/redir3.tests+5 -0
@@ -0,0 +1,5 @@
+# redirects to closed descriptors should not leave these descriptors
+# open afterwards
+echo TEST 9>/dev/null
+echo MUST ERROR OUT >&9
+echo "Output to fd#9: $?"