From: Tatsuro MATSUOKA <tmacchant2@yahoo.co.jp>
To: Mark Geisert <mark@maxrnd.com>, <cygwin@cygwin.com>
Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4)
Date: Tue, 12 Mar 2019 06:51:00 -0000 [thread overview]
Message-ID: <1896876564.419596.1552373491409.JavaMail.yahoo@mail.yahoo.co.jp> (raw)
In-Reply-To: <3bcd29c3-b533-e63c-ff7d-8912f80dbe39@maxrnd.com>
----- Original Message -----
> From: Mark Geisert
> To: cygwin
> Date: 2019/3/12, Tue 13:20
> Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4)
>
>T atsuro MATSUOKA wrote:
>> ----- Original Message -----
>>
>>> From: Mark Geisert
>>> To: cygwin
>>> Cc:
>>> Date: 2019/3/11, Mon 16:21
>>> Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4)
>>>
>>> T atsuro MATSUOKA wrote:
>>>> ----- Original Message -----
>>>>
>>>>> From: Yaakov Selkowitz <yselkowitz
>>>>> To: cygwin
>>>>> Cc:
>>>>> Date: 2019/3/11, Mon 09:53
>>>>> Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt
> 5.9.4)
>>>>>
>>>>> On Mon, 2019-03-11 at 09:28 +0900, Tatsuro MATSUOKA wrote:
>>>>>> > On Mon, 2019-03-04 at 07:43 +0900, Tatsuro MATSUOKA
> wrote:
>>>>>> > > I ask alpply a patch the below which enables
> to use qt
>>> terminal
>>>>> on gnuplot
>>>>>> > for Cygwin.
>>>>>> > > (cygQt5Network-5.dll is affected.)
>>>>>> > >
>>>>>> > > ---
>>>>>
> 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;
>>>>>> > >
>>>>>> >
>>>>>> > It seems we keep going in circles on this point. If
> there is
>>> a bug in
>>>>>> > O_NONBLOCK, then please either narrow it down to an
> STC, or
>>> provide a
>>>>>> > patch to Cygwin.
>>>>>>
>>>>>> Very basic question. What is STC?
>>>>>> I googled but I cannot find what is it.
>>>>>
>>>>> https://cygwin.com/acronyms/#STC
>>>>
>>>>
>>>> Sorry I cannot make STC due to lack of knowledge of QT.
>>>> In stead, I explain what gnuplot do.
>>>>
>>>> On gnuplot for qt,
>>>> plot is done by child process named gnuplot_qt.
>>>>
>>>> When gnuplot connect with gnuplot with
>>>> qt->socket.connectToServer(server);
>>>>
>>>>
>>>> without the above patch ()
>>>> qt_safe_socket(PF_UNIX, SOCK_STREAM, 0, O_NONBLOCK)))
>>>> gnuplot cannot connect with gnuplot_qt.
>>>>
>>>> with the above patch ()
>>>> qt_safe_socket(PF_UNIX, SOCK_STREAM, 0))
>>>> gnuplot can connect with gnuplot_qt.
>>>>
>>>> Perhaps qt with O_NONBLOCK is some wrong with process connection.
>>>
>>> Hi Tatsuro,
>>> For the record, what Enrico supplied is what we'd call an STC, a
> Simple Test
>>>
>>> Case. Unfortunately his STC dealt with select() on a named pipe.
>>>
>>> Your gnuplot issue has to do with "Unix sockets", a form of
> IPC
>>> between
>>> processes. Cygwin uses Windows named pipes to implement "Unix
>>> sockets" on
>>> Windows. This means we are mapping Unix/Linux socket constructs onto a
>>> dissimilar feature of Windows, and there are many opportunities for
> mismatch.
>>>
>>> Can you run your gnuplot under strace? You would set up your
> environment as
>>> needed to reproduce the issue, then launch gnuplot as so:
>>> strace -o gnuplot.trace gnuplot
>>> This will create a trace file of Cygwin syscalls and operations. Let
> us know
>>> how big (how many lines) are in the trace file and we'll see
> what's
>>> next.
>>>
>>> ..mark
>>>
>>
>> I send xz commpress gnuplot.trace.
>
> Next time we'll arrange private email for large things. I'm now poring
> over the
> strace; thanks for sending it.
>
> If it's not too much trouble, could you show what you tell gnuplot and how
> you
> set up the Qt environment? Are you running gnuplot from inside qterminal?
>
> ..mark
For qt graphics
gnuplot.exe uses driver process named gnuplot_qt.exe.
gnuplot.exe tries connect with gnuplot_qt.exe
by
qt->socket.connectToServer(server);
in gnuplot.exe code but fails to connect with gnuplot_qt.exe.
Tatsuro
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
next prev parent reply other threads:[~2019-03-12 6:51 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1439412702.1866573.1551653028041.JavaMail.yahoo.ref@mail.yahoo.co.jp>
2019-03-03 22:43 ` Tatsuro MATSUOKA
2019-03-04 16:32 ` Yaakov Selkowitz
2019-03-04 22:29 ` Tatsuro MATSUOKA
2019-03-05 12:57 ` Tatsuro MATSUOKA
2019-03-05 19:24 ` Achim Gratz
2019-03-05 23:58 ` Tatsuro MATSUOKA
2019-03-06 0:10 ` Tatsuro MATSUOKA
2019-03-06 1:10 ` Tatsuro MATSUOKA
2019-03-06 1:55 ` Tatsuro MATSUOKA
2019-03-06 2:25 ` Tatsuro MATSUOKA
2019-03-11 0:28 ` Tatsuro MATSUOKA
2019-03-11 0:50 ` Andrey Repin
2019-03-11 0:53 ` Yaakov Selkowitz
2019-03-11 3:33 ` Tatsuro MATSUOKA
2019-03-11 7:21 ` Mark Geisert
2019-03-11 7:56 ` Tatsuro MATSUOKA
2019-03-12 4:21 ` Mark Geisert
2019-03-12 6:51 ` Tatsuro MATSUOKA [this message]
2019-03-12 8:04 ` Patch request to qt 5.9.4 Mark Geisert
2019-03-12 8:26 ` Tatsuro MATSUOKA
2019-03-12 19:37 ` Achim Gratz
2019-03-12 23:22 ` Tatsuro MATSUOKA
2019-03-13 1:12 ` Mark Geisert
2019-03-13 4:27 ` Tatsuro MATSUOKA
2019-03-13 8:33 ` Mark Geisert
2019-03-15 8:06 ` Mark Geisert
2019-03-15 9:40 ` Tatsuro MATSUOKA
2019-03-16 0:41 ` Tatsuro MATSUOKA
2019-03-12 19:34 ` Achim Gratz
2019-03-11 9:45 ` Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4) Corinna Vinschen
2019-03-12 4:16 ` Mark Geisert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1896876564.419596.1552373491409.JavaMail.yahoo@mail.yahoo.co.jp \
--to=tmacchant2@yahoo.co.jp \
--cc=cygwin@cygwin.com \
--cc=mark@maxrnd.com \
--cc=matsuoka@nuce.nagoya-u.ac.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).