From: Brian Candler Date: 2010-09-07T17:40:21+09:00 Subject: Re: trouble with mkfifo and forks In the receiver, you are constantly opening the pipe for read and then closing it. I expect that if someone writes to the pipe while there's no reader, the data is lost. The program works for me if I swap the open and while around: File.open("#{RAILS_ROOT}/#{PIPE}", "r") do |pipe| while term_count < NUMBER_OF_ORDERS val = pipe.gets if val.match(/DONE/) .. etc But it is much better form to create an anonymous pipe in the parent (rd, wr = IO.pipe) then fork. Close the rd end in the child and the wr end in the parent. Use Socket.pair if you want a bidirectional channel. -- Posted via http://www.ruby-forum.com/.