From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76961 invoked by alias); 13 Mar 2019 08:33:36 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 76954 invoked by uid 89); 13 Mar 2019 08:33:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=BAYES_00,KAM_NUMSUBJECT autolearn=no version=3.3.1 spammy=HX-Languages-Length:1679, H*c:HHHHHHHH X-HELO: m0.truegem.net Received: from m0.truegem.net (HELO m0.truegem.net) (69.55.228.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 13 Mar 2019 08:33:33 +0000 Received: from localhost (mark@localhost) by m0.truegem.net (8.12.11/8.12.11) with ESMTP id x2D8XVAK048255 for ; Wed, 13 Mar 2019 01:33:31 -0700 (PDT) (envelope-from mark@maxrnd.com) Date: Wed, 13 Mar 2019 08:33:00 -0000 From: Mark Geisert To: cygwin@cygwin.com Subject: Re: Patch request to qt 5.9.4 In-Reply-To: <1346787976.482037.1552451229824.JavaMail.yahoo@mail.yahoo.co.jp> Message-ID: References: <1439412702.1866573.1551653028041.JavaMail.yahoo.ref@mail.yahoo.co.jp> <1439412702.1866573.1551653028041.JavaMail.yahoo@mail.yahoo.co.jp> <0faa5fb55a0af4803fcdff786dba8be440355609.camel@cygwin.com> <1896876564.419596.1552373491409.JavaMail.yah <1346787976.482037.1552451229824.JavaMail.yahoo@mail.yahoo.co.jp> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-57172657-1552466011=:46302" X-SW-Source: 2019-03/txt/msg00339.txt.bz2 --0-57172657-1552466011=:46302 Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Content-length: 1702 On Wed, 13 Mar 2019, Tatsuro MATSUOKA wrote: [...] >>> I have prepared binaries: >>> http://tmacchant3.starfree.jp/gnuplot/Eng/cyg_qt_test/ >>> >>> test >>> From gnplot prompt >>> >>> gnuplot> set terminal qt >>> gnuplot> plot x >>> >>> Without Qt patch >>> >>> Could not connect to existing gnuplot_qt. Starting a new one. >>> >>> Warning: slow font initialization >>> >>> >>> >>> With Qt patchplot appears [...] > One note: for gnuplot.exe and gnuplot_qt.exe, debug symbols are not strip= ped and=C2=A0 > you can trace gdb but I did not know debug info for Qt. I believe I've found the root cause of this issue of outbound connect on a= =20 non-blocking socket not working under Cygwin. It's in Qt's qlocalsocket_unix.cpp. On line 285 there's a call to=20 qt_safe_connect(). At this point the socket fd has already been set=20 non-blocking. Within qt_safe_connect() there's a call (eventually) to=20 Cygwin's connect(). That connect() is returning -1 with errno set to=20 EINPROGRESS. Back in qlocalsocket_unix.cpp, line 287 does a 'switch(errno)' but doesn't have a case for EINPROGRESS. That error condition reaches the 'default:' case, returning without the connection being completed. I don't know why=20 there's no error report to the user. Note that you don't want to quick-fix this by adding a 'case EINPROGRESS:' that simply acts like the connection is completed. I think somebody who=20 knows Qt network internals will have to develop a real fix. It seems nobody has run across a non-blocking connect() that doesn't=20 immediately complete connection.. but Posix mandates an EINPROGRESS error=20 in that situation so Cygwin appears to be doing the right thing. ..mark --0-57172657-1552466011=:46302 Content-Type: text/plain; charset=us-ascii Content-length: 219 -- 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 --0-57172657-1552466011=:46302--