From: Daniel N Date: 2006-08-03T22:29:39+09:00 Subject: How to tell when IO::popen is finished? ------=_Part_7894_29215792.1154611765754 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, I've just installed and had some success with the gnuplot library. I'm saving the output to a png file (plot.terminal "png") and this all works well, but when I try to use the file it isn't finished writing it yet and I get an exception. I've used Gnuplot.open( ) do |gp| .... end while(!File.exists?("/test2.png") || File.zero?("/test2.png") ) sleep 0.1 end In an attempt to wait until the file is written before I try to do anything with it, but this seems a bit too hackish. Can I capture the Gnuplot.open into a variable and check it? The last statement in the Gnuplot.open is a call to IO::popen( cmd, "w") { |io| yield io } but if I test the class of what is returned it is Gnuplot::Plot not anything to do with IO Is there a way that I can test the IO::popen to tell when it's finished? ------=_Part_7894_29215792.1154611765754--