X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5E5D3858033 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1636500244; bh=I21UefKDjkyjqCyNS0JDP0KXCxrqZu8snCd93ugTTss=; h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=iDdlzglMv5r8lQ6lx0BNkfH/kfEEOT6zPTS0FOLauk+y5RFo6OHJO1PkZ5cD6+/bp uH+/5gQ3kRHdARXm7Q569q7pwiIAqoTHeSCUamxtXVnVZ+XWgABxYHKcQi3WJySWEe Ssh8AKjaTYQdgVjNyn3/WrlLnoNp4wDn3ogArGdw= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4EC753858404 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-06.nifty.com 1A9NMcTN001352 X-Nifty-SrcIP: [110.4.221.123] Date: Wed, 10 Nov 2021 08:22:45 +0900 To: cygwin AT cygwin DOT com Subject: Re: Another pipe-related problem? Message-Id: <20211110082245.2943cf3c2519bff24a6843b2@nifty.ne.jp> In-Reply-To: <eb8d7d4f-d1ed-6f30-2ac3-1b24166243d9@cornell.edu> References: <f5br1bqaj11 DOT fsf AT ecclerig DOT inf DOT ed DOT ac DOT uk> <05c4180e-396b-4af3-ac0c-2ab8125df17e AT cornell DOT edu> <f5bk0hh8uox DOT fsf AT ecclerig DOT inf DOT ed DOT ac DOT uk> <eb8d7d4f-d1ed-6f30-2ac3-1b24166243d9 AT cornell DOT edu> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com> List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>, <mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> List-Archive: <https://cygwin.com/pipermail/cygwin/> List-Post: <mailto:cygwin AT cygwin DOT com> List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help> List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>, <mailto:cygwin-request AT cygwin DOT com?subject=subscribe> From: Takashi Yano via Cygwin <cygwin AT cygwin DOT com> Reply-To: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> On Tue, 9 Nov 2021 09:11:28 -0500 Ken Brown wrote: > I'll have to reproduce the hang myself in order to test this (or maybe you could > test it), but I now have a new guess: If the read call above keeps failing with > EINTR, then we're in an infinite loop. This could happen because of the > following code in fhandler_pipe::raw_read: > > DWORD waitret = cygwait (read_mtx, timeout); > switch (waitret) > { > case WAIT_OBJECT_0: > break; > case WAIT_TIMEOUT: > set_errno (EAGAIN); > len = (size_t) -1; > return; > default: > set_errno (EINTR); > len = (size_t) -1; > return; > } > > Takashi, is EINTR really the appropriate errno in the default case? Isn't > cygwait supposed to handle signals? I assume cygwait() returns WAIT_SIGNALED when signalled by SIGINT, SIGTERM, SIGTSTP, etc... In this case, EINTR should return I think. Is it wrong? -- Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple