From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7365 invoked by alias); 6 Mar 2019 01:55:04 -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 7352 invoked by uid 89); 6 Mar 2019 01:55:03 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.7 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_2,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:NNFMP X-HELO: nh604-vm11.bullet.mail.ssk.yahoo.co.jp Received: from nh604-vm11.bullet.mail.ssk.yahoo.co.jp (HELO nh604-vm11.bullet.mail.ssk.yahoo.co.jp) (182.22.90.68) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with SMTP; Wed, 06 Mar 2019 01:55:01 +0000 Received: from [182.22.66.105] by nh604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:52:58 -0000 Received: from [182.22.91.206] by t603.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:52:58 -0000 Received: from [127.0.0.1] by omp609.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:52:58 -0000 Received: from jws700001.mail.kks.yahoo.co.jp by sendmailws504.mail.kks.yahoo.co.jp; Wed, 06 Mar 2019 10:52:57 +0000; 1551837177.841 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1551837178; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:To:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=PYIq+x8blUhp7Pl7ZEraeQFWcjsDWEiPDg9ttwjzKcw=; b=GDGZ4ti7VxOrZ096uYfUSgYmVlx3olWIfCg7/yGwrNNmIgEk+bCr+Li0lggL/wnr scPAJ1sePNGQjzZUOrZom+HaJfTP/CTj5FRLI8fUBhnHeduwXcaKnKckr7AuABNJ9RA 3WQN5L6yZalib1X1XFGFTwu1rY/8g5jOHFnTrDFY= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:Message-ID:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=XoN28Yi6uyUzV9IavShncarSp+NWnsFhRvyaOu0zBxhxqtC15qfjIqUOdnc4nwpn 2NhwtIFBQHpv5A2oS0o1FIhLvy0Z+ZMPrKfzALU+rRxSqUScWkgwKRzVoydnSx3LbM2 vzHtgLXImBEf1HoQ0RINhO8cFpd7h2kJlGSlY28s=; Date: Wed, 06 Mar 2019 01:55:00 -0000 From: Tatsuro MATSUOKA Reply-To: Tatsuro MATSUOKA To: Achim Gratz , Message-ID: <579393023.124390.1551837177029.JavaMail.yahoo@mail.yahoo.co.jp> In-Reply-To: <1869437449.2276597.1551834619821.JavaMail.yahoo@mail.yahoo.co.jp> References: <1439412702.1866573.1551653028041.JavaMail.yahoo.ref@mail.yahoo.co.jp> <1439412702.1866573.1551653028041.JavaMail.yahoo@mail.yahoo.co.jp> <0faa5fb55a0af4803fcdff786dba8be440355609.camel@cygwin.com> <1885179468.2217358.1551790639928.JavaMail.yahoo@mail.yahoo.co.jp> <87d0n586qw.fsf@Rainer.invalid> <648344595.103002.1551831017801.JavaMail.yahoo@mail.yahoo.co.jp> <1869437449.2276597.1551834619821.JavaMail.yahoo@mail.yahoo.co.jp> Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2019-03/txt/msg00089.txt.bz2 ----- Original Message ----- > From: Tatsuro MATSUOKA=C2=A0 > To: Achim Gratz; cygwin > Cc:=20 > Date: 2019/3/6, Wed 10:10 > Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.9.4) >=20 >>> =C2=A0 From: Achim Gratz >=20 >>> =C2=A0 To: cygwin >>> =C2=A0 Cc:=20 >>> =C2=A0 Date: 2019/3/6, Wed 04:24 >>> =C2=A0 Subject: Re: Patch request to qt 5.9.4 (Re: [ANNOUNCEMENT] Qt 5.= 9.4) >>>=20 >>> T atsuro MATSUOKA writes: >>>> =C2=A0 I contacted with Enrico who tells me the patch that I have sho= wn. >>>=20 >>> =C2=A0 Yes, but that monkeys around the real problem.=C2=A0 What Yaakov= is telling >>> =C2=A0 you is that there are two options and we don't know yet which on= e=20 > we >>> =C2=A0 have to deal with. >>>=20 >>> =C2=A0 If O_NONBLOCK is needed, but does not work correctly under Cygwi= n,=20 > then >>> =C2=A0 that's a bug in Cygwin.=C2=A0 For this case, Corinna asks you to= create=20 > an >>> =C2=A0 STC that demonstrates the bug so it can be triaged without havin= g to >>> =C2=A0 work with something as complex as the Qt terminal in Cygwin. >>>=20 >>> =C2=A0 If on the other hand O_NONBLOCK is in fact not needed and just s= hows >>> =C2=A0 different behaviour on different systems without a bug in the >>> =C2=A0 implementation being present, then upstream should remove that=20 > argument. >>>=20 >>>=20 >>> =C2=A0 Regards, >>> =C2=A0 Achim. >>=20 >> Seeing ML archive that Enrico indicated, >>=20 >> Re: select() and named pipes >>=20 >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >>=20 >> #define FIFONAME "/tmp/pipe" >>=20 >> int main(void) >> { >> =C2=A0=C2=A0=C2=A0 int fd; >> =C2=A0=C2=A0=C2=A0 int nsel; >> =C2=A0=C2=A0=C2=A0 fd_set readfds; >> =C2=A0=C2=A0=C2=A0 FD_ZERO(&readfds); >>=20 >> =C2=A0=C2=A0=C2=A0 if (mkfifo(FIFONAME, 0600) < 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 perror("mkfifo"); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 exit(1); >> =C2=A0=C2=A0=C2=A0 } >>=20 >> =C2=A0=C2=A0=C2=A0 fd =3D open(FIFONAME, O_RDONLY | O_NONBLOCK); >>=20 >> =C2=A0=C2=A0=C2=A0 if (fd < 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 perror("open"); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 remove(FIFONAME); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 exit(2); >> =C2=A0=C2=A0=C2=A0 } >>=20 >> =C2=A0=C2=A0=C2=A0 FD_SET(fd, &readfds); >> =C2=A0=C2=A0=C2=A0 do { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nsel =3D select(fd + 1, &rea= dfds, 0, 0, 0); >> =C2=A0=C2=A0=C2=A0 } while (nsel =3D=3D -1 && (errno =3D=3D EINTR || er= rno =3D=3D EAGAIN)); >>=20 >> =C2=A0=C2=A0=C2=A0 if (nsel =3D=3D -1) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 perror("select"); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 exit(3); >> =C2=A0=C2=A0=C2=A0 } >>=20 >> =C2=A0=C2=A0=C2=A0 if (FD_ISSET(fd, &readfds)) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 char buf[100]; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int status; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int count =3D 0; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printf("%d: ", ++count); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while ((status =3D read(fd, = buf, sizeof(buf) - 1))) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (= status > 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 buf[status] =3D '\0'; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 printf("%s", buf); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } el= se if (errno =3D=3D EAGAIN) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printf("\n%d: ", ++count); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } el= se { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 perror("read"); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 break; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0 } >>=20 >> =C2=A0=C2=A0=C2=A0 close(fd); >> =C2=A0=C2=A0=C2=A0 remove(FIFONAME); >> =C2=A0=C2=A0=C2=A0 return 0; >> } >>=20 >>=20 >>=20 >> As you wrote this is a issue of Cygwin issue. >> But As long as O_NONBLOCK does not work on Cygwin, Enrico's workaround= =20 > can=20 >> be attached for qt. >=20 > Apart from Qt maintainer accepts Enrico's patch, I will raise=C2=A0O_NONB= LOCK=20 > issue by another post. I have updated the cygiwn by setup because cygwin is updated to 3.0.1-1. The above code works with or without=C2=A0O_NONBLOCK. On cygwin 3.0.0, with=C2=A0O_NONBLOCK, the code does not work. Thus situation is changing. But connection of gnuplot to qnuplot_qt still fails. There seem to be Qt for Cygwin specific issue. I cannot narrow down the issue at this moment. I have to use Qt with debug symbols and gnuplot build with -g option and tr= ace the behaviors. It take time and now I do not have enough time. Please wait while. 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