From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5467 invoked by alias); 6 Mar 2019 01:10:26 -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 5454 invoked by uid 89); 6 Mar 2019 01:10:26 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=H*r:NNFMP, H*M:JavaMail X-HELO: nh604-vm7.bullet.mail.ssk.yahoo.co.jp Received: from nh604-vm7.bullet.mail.ssk.yahoo.co.jp (HELO nh604-vm7.bullet.mail.ssk.yahoo.co.jp) (182.22.90.64) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with SMTP; Wed, 06 Mar 2019 01:10:23 +0000 Received: from [182.22.66.106] by nh604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:10:21 -0000 Received: from [182.22.91.130] by t604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:10:21 -0000 Received: from [127.0.0.1] by omp603.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 01:10:21 -0000 Received: from jws700004.mail.kks.yahoo.co.jp by sendmailws515.mail.kks.yahoo.co.jp; Wed, 06 Mar 2019 10:10:20 +0000; 1551834620.570 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1551834621; 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=mGAOu4lp3H4s0QSl0JVhJfvTJlATJ37n3wmxxcwWgxA=; b=n+54Y0aLzCQQfhYzVFnSP0WY/yY1Wg/jVcXdn+OQVhzg6EJFRPC2BrZf7tgWukRp 5qWuEOTdE0PvcjmYC+e3/8MD51sh4n9TIc684RCqcbBKSMBUWlCcgJx7Hapx7OQ7C9B ex7awq13C2PLTY2HHFlxzm0wqLnIZLTAi+w2YziE= 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=E/IrJh3rKkT7w0gkWYTuS4b6bL/Rnsiz1XLhNhSh3szJH2BPbEjFQg5o4pF6wPdC Ajref5mbsenNXA6WFQSATdYFKrxhiMogDH+STcw04LqtKfl28BBR4CxtJRfMmXKxR1J SbSyVl3p9iGXAIPEFx9EvitE3n9T1+xBuOjAiR4g=; Date: Wed, 06 Mar 2019 01:10:00 -0000 From: Tatsuro MATSUOKA Reply-To: Tatsuro MATSUOKA To: Achim Gratz , Message-ID: <1869437449.2276597.1551834619821.JavaMail.yahoo@mail.yahoo.co.jp> In-Reply-To: <648344595.103002.1551831017801.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> 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/msg00088.txt.bz2 >> From: Achim Gratz >> To: cygwin >> Cc:=20 >> Date: 2019/3/6, Wed 04:24 >> 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 shown. >>=20 >> Yes, but that monkeys around the real problem.=C2=A0 What Yaakov is tel= ling >> you is that there are two options and we don't know yet which one we >> have to deal with. >>=20 >> If O_NONBLOCK is needed, but does not work correctly under Cygwin, then >> that's a bug in Cygwin.=C2=A0 For this case, Corinna asks you to create= an >> STC that demonstrates the bug so it can be triaged without having to >> work with something as complex as the Qt terminal in Cygwin. >>=20 >> If on the other hand O_NONBLOCK is in fact not needed and just shows >> different behaviour on different systems without a bug in the >> implementation being present, then upstream should remove that argument. >>=20 >>=20 >> Regards, >> 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, &readf= ds, 0, 0, 0); > =C2=A0=C2=A0=C2=A0 } while (nsel =3D=3D -1 && (errno =3D=3D EINTR || errn= o =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, bu= f, 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 (st= atus > 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 } else= 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 } else= { > =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 ca= n=20 > be attached for qt. Apart from Qt maintainer accepts Enrico's patch, I will raise=C2=A0O_NONBLO= CK issue by another post. 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