From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 90387 invoked by alias); 6 Mar 2019 00:10:23 -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 90374 invoked by uid 89); 6 Mar 2019 00:10:22 -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, asks, fd_set, indicated X-HELO: nh601-vm12.bullet.mail.ssk.yahoo.co.jp Received: from nh601-vm12.bullet.mail.ssk.yahoo.co.jp (HELO nh601-vm12.bullet.mail.ssk.yahoo.co.jp) (182.22.90.21) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with SMTP; Wed, 06 Mar 2019 00:10:21 +0000 Received: from [182.22.66.106] by nh601.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 00:10:19 -0000 Received: from [182.22.91.206] by t604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 00:10:19 -0000 Received: from [127.0.0.1] by omp609.mail.ssk.yahoo.co.jp with NNFMP; 06 Mar 2019 00:10:19 -0000 Received: from jws700003.mail.kks.yahoo.co.jp by sendmailws513.mail.kks.yahoo.co.jp; Wed, 06 Mar 2019 09:10:18 +0000; 1551831018.426 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1551831018; 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=Emgwtc6V2a+fvSL/sHa14k1d7NK6lGZc8OVYwzjEofQ=; b=RCKREwajD1tgcRgG1JZvikMlcwzqK0T4kRzwYdLVlvsxT71uJ2VGhTzj0a++LyXq yj4PZV7YrrCXmGiPtTOp5WUFbc8F73DPCFzOdS4ceCS1MT7X+0+sakVjDwdrTvb4GBi awI/2YWce8WCJrmTEwwzHaAP16UkHC/T4ae3ux5c= 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=piKyBHYbGJRgBCS9Orj6xbYWBqjULCPguN4/+scPzCSUdpAyro5zzxUd+G9zwFUT u4JDR7DWfFum5ZLzYm0r2FoYDVVis7Jntvmdxx5NEfpXHdY9AKQrikMjmJLaKogfjwx +hG+BeGmELoRRneIIcxU4DadetoSaW6i1jQpvnsE=; Date: Wed, 06 Mar 2019 00:10:00 -0000 From: Tatsuro MATSUOKA Reply-To: Tatsuro MATSUOKA To: Achim Gratz , Message-ID: <648344595.103002.1551831017801.JavaMail.yahoo@mail.yahoo.co.jp> In-Reply-To: <87d0n586qw.fsf@Rainer.invalid> 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> 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/msg00084.txt.bz2 ----- Original Message ----- > 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: >> 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 telli= ng > 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. Seeing ML archive that Enrico indicated, Re: select() and named pipes #include #include #include #include #include #include #include #include #define FIFONAME "/tmp/pipe" 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); =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 } =C2=A0=C2=A0=C2=A0 fd =3D open(FIFONAME, O_RDONLY | O_NONBLOCK); =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 } =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, &readfds= , 0, 0, 0); =C2=A0=C2=A0=C2=A0 } while (nsel =3D=3D -1 && (errno =3D=3D EINTR || errno = =3D=3D EAGAIN)); =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 } =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 (stat= us > 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 i= f (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 } =C2=A0=C2=A0=C2=A0 close(fd); =C2=A0=C2=A0=C2=A0 remove(FIFONAME); =C2=A0=C2=A0=C2=A0 return 0; } As you wrote this is a issue of Cygwin issue. But As long as O_NONBLOCK does not work on Cygwin, Enrico's workaround can = be attached for qt. 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