=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/gnuplot.sm1,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM/src/kan96xx/Doc/gnuplot.sm1 2004/12/17 00:13:08 1.5 +++ OpenXM/src/kan96xx/Doc/gnuplot.sm1 2004/12/18 01:56:03 1.6 @@ -1,4 +1,4 @@ -%$OpenXM: OpenXM/src/kan96xx/Doc/gnuplot.sm1,v 1.4 2004/12/16 11:41:58 takayama Exp $ +%$OpenXM: OpenXM/src/kan96xx/Doc/gnuplot.sm1,v 1.5 2004/12/17 00:13:08 takayama Exp $ %%% 1999, 6/7 Mon. [(parse) (ox.sm1) pushfile] extension [(getenv) (OpenXM_HOME)] extension /OpenXM_HOME set @@ -58,7 +58,12 @@ /plotstart.aux.1 { [(getUniqueFileName) (/tmp/gnuplot.fifo.tmp)] extension /gnuplot.fifo set - [(fp2mkfifo) gnuplot.fifo] extension message + [(fp2mkfifo) gnuplot.fifo] extension /gnuplot.status set + + gnuplot.status -1 eq { + (Warning: mkfifo failed.) message + } { } ifelse + gnuplot.fifo message [(fp2popen) plot.gnuplotexec (w)] extension /gnuplot.pfp set (Started gnuplot) message @@ -71,6 +76,7 @@ [(fp2fopen) gnuplot.fifo (r)] extension /gnuplot.fifoFp set % This must be the last. Otherwise, fopen is blocked. + % When mkfifo fails, then gnuplot.fifoFp will be null. (old cygwin) /gnuplot.pid -2 def % dummy. gnuplot.pid message } def @@ -97,7 +103,10 @@ /plotstop.aux.0 { } def /plotstop.aux.1 { [(fp2fclose) gnuplot.pfp] extension pop - [(fp2fclose) gnuplot.fifoFp] extension pop + gnuplot.fifoFp tag 0 eq { } + { + [(fp2fclose) gnuplot.fifoFp] extension pop + } ifelse [(rm) gnuplot.fifo] oxshell pop } def @@ -135,13 +144,16 @@ /gnuplot.read.1 { - [ + [ + gnuplot.fifoFp tag 0 eq { } + { { [(fp2select) gnuplot.fifoFp 0] extension 1 eq { [(fp2fgetc) gnuplot.fifoFp] extension } { exit } ifelse } loop - ] { (string) dc } map cat + } ifelse + ] { (string) dc } map cat } def /isAlive {