I've got two programs which need to communicate (which eliminates un-named pipes). Information needs to be sent in both directions such that one program (say it's called the master) sends a couple of bytes to and then waits for a response from the other program (say it's called the slave) and so on. It looks like if you open the pipe (or FIFO file) from both sides in read/write mode that the pipe is opened non-blocking so what ends up happening is that the side which sends first just keeps sending and doesn't wait for a response. ....yeah, I should probably be using sockets, but this is a sort of 'legacy' system. phil