Too bad I was unable to regenerate the copy that runs without error.
Apparantly I have first pipe (a2h) having 5,6 and second pipe (h2a) having 7,8
parent polling from 7, and child polling from 5.
When parent sends something to child, it writes to 6, and suppose 5 will has something to 'read' when the child select(). Surprisingly, instead of 5 having something to 'read', parent reports that 7 has to 'read' when the parent select(). (Note: the select() is implemented separately on both parent and client.)
In diagram it doesn't really make sense how written stuff to 6 'jumps' to 7. I am using Fedora Core 1. Is this system specific? (Does not seems to be since this chuck of code is quite widely used)
parent | | child
Thanks in advanced!