|
From: Mojca M. <moj...@gm...> - 2014-02-08 22:40:21
|
On Sat, Feb 8, 2014 at 7:28 PM, sfeam wrote:
>
> I think you have that backwards.
> As I understand it, OSX does not like running the graphics display
> loop in a separate thread but is OK with running it in a separate process.
> So fork=good, separate thread=bad.
Or maybe Qt on OS X simply has problems with both.
> Mojca: - Do you have GNUPLOT_DRIVER_DIR set to the current
> build directory?
I didn't set that variable anywhere. But I use
./configure --prefix=$PWD/inst
make && make install
./inst/bin/gnuplot
> I could imagine that if the new executable forks
> a copy of an old gnuplot_qt that strange things might happen.
The version of gnuplot_qt that is running is the proper one (unless
"make install" doesn't work properly).
> If you run with the following trivial patch, does the reported
> process ID make sense?
Yes, it does:
Terminal type set to 'qt'
gnuplot> plot sin(x)
started detached process "qtgnuplot18712"
Could not connect gnuplot_qt "" . Starting a new one
started detached process "qtgnuplot18714"
The two running gnuplot_qt processes have exactly the right PID (and
one of them is sometimes reporting 32 EB of shared memory ;), but it
doesn't seem to work.
> --- gnuplot/src/qtterminal/qt_term.cpp 2014-01-26 13:57:10.687171903 -0800
> +++ gnuplot-cvs/src/qtterminal/qt_term.cpp 2014-02-08 10:25:19.819905362 -0800
> @@ -211,9 +211,10 @@ void execGnuplotQt()
>
> qint64 pid;
> qt->gnuplot_qtStarted = QProcess::startDetached(filename, QStringList(), QString(), &pid);
> - if (qt->gnuplot_qtStarted)
> + if (qt->gnuplot_qtStarted) {
> qt->localServerName = "qtgnuplot" + QString::number(pid);
> - else
> + qDebug() << "started detached process " << qt->localServerName;
> + } else
> qDebug() << "Could not start gnuplot_qt with path" << filename;
> }
Mojca
|