On 2017-10-17 at 03:28 -0700, L A Walsh wrote: > I run the test using cygwin, and use /dev/zero and /dev/null -- > creating those files in my home directory on each platform. > > That way I can copy from /dev/zero on one platform to /dev/null on the other > or vice-versa to get timings of file transfer speed, APART from > file-io delays of going through the file system. (...) > So my question is -- how can the pipe disappear so fast > that my "readarray out" results in a broken pipe message. > > Shouldn't that be impossible with the code above? > > FWIW, the readarray is trying to catch the output from 'dd', > with 's' catching the status of the 'dd' command (as passed > through nice). > > But why would changing network settings on an ethernet > node result in pipe errors in bash? > > Ideas?
bash converts < <( dd_need_io "$if" "$of" ...) into a read from /dev/fd/62 in order to make readarray read file descriptor 62. Given that this the host OS doesn't provide them, the first thing I would verify would be: is cygwin, as setup on that system, providing such descriptors? As a simple test, you can do: wc -l <(cat /etc/passwd) (change /etc/passwd to another file if that's not available) Regards