[Bug 5600] ash shell backtick never returns if sub-process closes std file descriptors

bugzilla at busybox.net bugzilla at busybox.net
Mon Oct 15 13:55:47 UTC 2012


--- Comment #1 from Denys Vlasenko <vda.linux at googlemail.com> 2012-10-15 13:55:46 UTC ---
Trying to reproduce:

$ strace -oLOG -s99 -f -tt ./busybox ash -c 'echo T1 `exec <&- >&- 2>&-` T2'
T1 T2

and strace log looks normal.
Adding a pause:

$ ./busybox ash -c 'echo T1 `exec <&- >&- 2>&-; exec sleep 1` T2'
<one second pause>
T1 T2

Still looks ok.

Are you sure that in your case: OUPUT=`udevd -d`, udevd does not forget to
close stdout when it daemonizes? If it does, then shell will be blocked reading
from it. Try OUPUT=`udevd -d </dev/null >/dev/null 2>&1`

Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the busybox-cvs mailing list