|
From: Daniel J S. <dan...@ie...> - 2006-07-27 22:00:59
|
Timoth=C3=A9e Lecomte wrote: > Hi, >=20 > I just tried the wxWidgets terminal with octave (2.1.73, not the last=20 > development version though). >=20 > Bad news : it uses "persist" too. Are you sure? I've never seen plots stay alive after Octave is closed. = I've gone to the Octave source directory and grepped for "persist". I do= n't see it anywhere used as an option to gnuplot, and the line of code I = see uses "gnuplot" as the default launch command. Please use 2.9.x series as reference. There are major changes in store f= or Octave. If you must compile, I know, it takes a while. >=20 > octave uses a pipe to talk with gnuplot, and keeps it open through the=20 > whole octave session. The "persist" behaviour appears when you close=20 > octave (by issuing "quit" at octave prompt). I guess the process goes=20 > the following way : octave closes the pipe, gnuplot engages its exit=20 > process, the wxWidgets says "hold on !" until all the windows are=20 > closed, and ... octave waits for gnuplot to terminate, so you end up=20 > with what looks like a frozen prompt until you realize that you have to= =20 > close the wxt window (you can also hit ctrl-c twice to force octave to=20 > close). >=20 > Like maxima, octave relies on the X11 "persist" behaviour. I don't think so. >=20 > Ethan suggested two alternatives : > - sending a fake signal SIGCHLD to octave, meaning "child process=20 > terminated". I tried, and it does not work. octave does not wait for SI= GCHLD > - mimic a 'bg' to gnuplot. Well, I don't know how to do that from=20 > gnuplot, and I doubt it will actually work : since gnuplot's process is= =20 > still running, octave still waits for it. >=20 > Do any of you have a miraculous idea, or should I report that to the=20 > octave developers as I did for maxima ? Talk directly with John Eaton. He's the only one who will know. But I'd= say it would be best to compile the latest version and come up with a pa= tch that works with what you are trying to accomplish. (The file __gnupl= ot_raw__.cc contains what you are looking for.) Dan |