Hi,
with both ksh93t+ and ksh93u the scriptlet
function f_cmd {
echo $*
OUT=$(eval "$*" 2>&1)
echo finished
}
f_cmd "find /var | egrep -vi -e '\.snapshot'"
does block within the used read() of iousepipe()
found in src/cmd/ksh93/sh/xec.c. If I remove
the line
shp->subdup |= 1<< fn;
in sh_redirect() found in src/cmd/ksh93/sh/io.c
it works again. The added check
if(shp->comsub==1)
for ksh93u does not prevent such hangs. Also
masking out from shp->subdup for dupfd!=1 later
on does not prevent anything for dupfd==1.
Now my question is: why it is reqiured to add
the duplicated file descriptor to subdup as it
seems to make reading from the pipes input to
hang.
Werner
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
_______________________________________________
ast-developers mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-developers