aboutsummaryrefslogtreecommitdiff
path: root/procps
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2021-08-30 20:31:42 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2021-09-30 00:15:33 +0200
commit76ef4391548ded8db511e2f7f8f35a3010be7ec5 (patch)
tree0bb58db5de47e8fc3b9a265b9b1206a054b443c4 /procps
parent00adcdb64a5487f0ea6b400d912dcf7c58637696 (diff)
downloadbusybox-w32-76ef4391548ded8db511e2f7f8f35a3010be7ec5.tar.gz
busybox-w32-76ef4391548ded8db511e2f7f8f35a3010be7ec5.tar.bz2
busybox-w32-76ef4391548ded8db511e2f7f8f35a3010be7ec5.zip
ash: regressions in process substitution
Stacy Harper reports that this script: test() { . /tmp/bb_test; } echo "export TEST=foo" >/tmp/bb_test test 2>/dev/null echo "$TEST" correctly prints 'foo' in BusyBox 1.33 but hangs in 1.34. Bisection suggested the problem was caused by commit a1b0d3856 (ash: add process substitution in bash-compatibility mode). Removing the call to unwindredir() in cmdloop() introduced in that commit makes the script work again. Additionally, these examples of process substitution: while true; do cat <(echo hi); done f() { while true; do cat <(echo hi); done } f result in running out of file descriptors. This is a regression from v5 of the process substitution patch caused by changes to evalcommand() not being transferred to v6. function old new delta static.pushredir - 99 +99 evalcommand 1729 1750 +21 exitreset 69 86 +17 cmdloop 372 365 -7 unwindredir 28 - -28 pushredir 112 - -112 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 2/1 up/down: 137/-147) Total: -10 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'procps')
0 files changed, 0 insertions, 0 deletions