On Jul 29 13:35, Ken Brown wrote: > On 7/29/2019 9:18 AM, Ken Brown wrote: > > On 7/29/2019 4:45 AM, Corinna Vinschen wrote: > >> Did you try to reproduce this under > >> strace? > > > > Yes, but there I get an error (even under mintty) for a different reason: > > > > $ strace -o trace.out ls -lL <(grep bash .bashrc) > > ls: cannot access '/dev/fd/63': No such file or directory > > > > The strace output shows a call to fhandler_process::exists on /proc/45036/fd/63; > > here 45036 is the PID of 'ls'. And then I see an EBADF error. But I think > > what's happening here might be that bash is parsing '<(grep bash .bashrc)' too > > soon, so that '/dev/fd/63' isn't related to the 'ls' command. > > > > By the way, I've just tried a different experiment, in which I simplify the ls > > command to 'ls <(grep bash .bashrc)'. When I run this under xterm, I get the > > broken pipe error 98% of the time or more. But it's fine under mintty. > > I think I may have more-or-less figured out what's going on. The "broken pipe" > error simply means that ls has exited before grep has finished writing. So grep > is writing to a pipe that has no readers. If I replace 'ls' by 'cat', I don't > get any errors. Yeah, but it's mainly because this got started wrongly. bash needs to run under strace as well, otherwise you don't have the connection to the process actually creating the fifo. My previous reply wasn't very clear on that, sorry. Corinna -- Corinna Vinschen Cygwin Maintainer