By the way, does the same version of Cygwin have similar issue on the read
side?
Actually I've written a small test program on the problematic cygwin
machine that seems to show that the EAGAIN is somehow related to pipes
(e.g. stdout & stuff) and does not occur when fd refers to a file.
I will test this for read() as well but I don't know enough cygwin
internals to tell what other versions may be affected.
It might even be related to 32/64 bit or different Windows versions
since I didn't test more constellations.
-Robert