On Wed, 14 Jun 2017 13:57:14 -0700, allber...@gmail.com wrote: > Found by dogbert17 while trying to debug spurious spelling errors in > aspell.t in the docs repo. > > my $proc = run(<aspell -a --ignore-case --extra-dicts=./xt/aspell.pws>, > :in($fixer.out), :out); > > This should arrange to fcntl(fd, F_DUPFD, 0) in the subprocess that will > exec aspell, where fd is the file descriptor backing $fixer.out, but > instead it copies whatever data is currently available from that handle. > (This copying is visible in an strace.) > > IRC discussion: https://irclog.perlgeek.de/perl6-dev/2017-06-14#i_14733641 >
The implementation has been changed to arrange for this to be done at the descriptor level. This is done in Proc, and Proc::Async is a couple of small tweaks away from having a way to do it also (which it has never had before). Since this issue relates to the situation in Proc, marking it as resolved. /jnthn