Actually I misspoke before, there
is this issue on Solaris 10. I didn't update the logic sufficiently to detect it at first. So it looks like this is could be a potentially more significant issue -- affecting enterprise user markets.
I think the bottom line question is, should a child process be capable of manipulating the parent processes pipe data. My vote is that it should not be allowed, since I do not want things like a squirrely child process eating up parent pipe data in my while/read loops. There may be important tasks that are subsequent that I would not want a child process to short-circuit.