035486c750
New code is similar to what hush is doing. Make CLOSED to -1: same as dash. popredir() loses "restore" parameter: same as dash. COPYFD_RESTORE bit is no longer necessary. This change fixes this interactive bug: $ ls -l /proc/$$/fd 10>&- ash: can't set tty process group: Bad file descriptor ash: can't set tty process group: Bad file descriptor [1]+ Done(2) ls -l /proc/${\$}/fd 10>&4294967295 function old new delta unwindredir 29 27 -2 tryexec 154 152 -2 evaltree 503 501 -2 evalcommand 1369 1367 -2 cmdloop 187 185 -2 redirect 1029 1018 -11 popredir 153 123 -30 need_to_remember 36 - -36 is_hidden_fd 68 - -68 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 0/7 up/down: 0/-155) Total: -155 bytes text data bss dec hex filename 914572 485 6848 921905 e1131 busybox_old 914553 485 6848 921886 e111e busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
||
---|---|---|
.. | ||
redir1.right | ||
redir1.tests | ||
redir2.right | ||
redir2.tests | ||
redir3.right | ||
redir3.tests | ||
redir4.right | ||
redir4.tests | ||
redir5.right | ||
redir5.tests | ||
redir6.right | ||
redir6.tests | ||
redir7.right | ||
redir7.tests | ||
redir8.right | ||
redir8.tests | ||
redir9.right | ||
redir9.tests | ||
redir_errors.right | ||
redir_errors.tests | ||
redir_escapednum.right | ||
redir_escapednum.tests | ||
redir_expand.right | ||
redir_expand.tests | ||
redir_leak.right | ||
redir_leak.tests | ||
redir_multi.right | ||
redir_multi.tests | ||
redir_script.right | ||
redir_script.tests | ||
redir_space.right | ||
redir_space.tests | ||
redir_to_bad_fd3.right | ||
redir_to_bad_fd3.tests | ||
redir_to_bad_fd255.right | ||
redir_to_bad_fd255.tests | ||
redir_to_bad_fd.right | ||
redir_to_bad_fd.tests | ||
redir.right | ||
redir.tests | ||
redirA.right | ||
redirA.tests |