This is related to
https://sourceforge.net/p/gnuplot/mailman/message/36603526/
On Cygwin, plot does not start unless I attach the patch below to qt5 source.
--- a/qtbase-opensource-src-5.9.4/src/network/socket/qlocalsocket_unix.cpp +++ b/qtbase-opensource-src-5.9.4/src/network/socket/qlocalsocket_unix.cpp @@ -239,7 +239,7 @@ void QLocalSocket::connectToServer(OpenM } // create the socket - if (-1 == (d->connectingSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM, 0, O_NONBLOCK))) { + if (-1 == (d->connectingSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM, 0))) { d->errorOccurred(UnsupportedSocketOperationError, QLatin1String("QLocalSocket::connectToServer")); return;
gnuplot> pl x
Could not connect to existing gnuplot_qt. Starting a new one.
Warning: slow font initializationgnuplot>
I forgot to mention the details.
gnuplot 5.3 (commit [74cf67])
Qt version on Cygwin64 (5.9.4)
Related
Commit: [74cf67]
That commit identifier is the current tip. Did you mean to point to an earlier change?
Question: You show a warning message "slot font initialization". Does that warning come from the program with your Qt patch or without your Qt patch?
After that I privately got a patch infomation on 2018/3/12, Mon 17:17
At least between 5.0 and 5.2 situation changed in both gnuplot and qt on Cygwin.
Last edit: Tatsuro MATSUOKA 2019-03-05
"slot font initialization" appears for with or without patch for qt.
Then I do not understand.
What is the bug? What is different in gnuplot after you apply that patch to Qt?
Sorry for confusing description.
Before patch
gnuplot> pl x
Could not connect to existing gnuplot_qt. Starting a new one.
Warning: slow font initializationgnuplot>
(plot never appears)
After patch
gnuplot> pl x
Warning: slow font initializationgnuplot>
(plot appears)
Before patch gnuplot_qt is executed but gnuplot fails to connect to it.
Last edit: Tatsuro MATSUOKA 2019-03-05
Does the patch below help any?
Unfortunately, the result is the same as before. (gnuplot cannot connect with gnuplot_qt)
gnuplot> pl x
Could not connect to existing gnuplot_qt. Starting a new one.
My summary from searching through the history shown in the links above:
Conclusion: We probably can't fix it in the gnuplot code. There is a trivial work-around that requires modifying the Qt source code, but this would only make sense for the purpose of making a Qt package specifically for Cygwin.
Thank for your summary.
I understand this is issue of Cygwin. (Not Qt for Cygwin but issue of Cygwin itself).
I report your summary to Cygwin ML.
Please tell me the code receive part of
qt->socket.connectToServer(server);
in gnuplot_qt code.
I may not understand the question.
If the program works correctly, the connectToServer operation creates a pipe from which the program can read. On your Cygwin system the connectToServer operation apparently never succeeds so there is no socket to read from.
When the program functions correctly, the routine that reads from the pipe is qt_waitforinput() at qt_term.cpp:989
OK. I have mislead. That is the pipe connection. Cygwin emilates the Unixy pipe using Windows nemaed pipe. In the emulateing process, Cygwin seems fails O_NONBLOCK connection.
See also: discussion on info mailing list
Last edit: Ethan Merritt 2019-03-15